- ベストアンサー
ハッシュリファレンスの無名変数
サブルーチンにハッシュリファレンスを渡すために、 以下のようにすると上手く実行されます。 %hash = ( baa => 1, boo => 2 ); test(\%hash); sub test { my %hash = %{shift}; print $hash{baa}; } これを、%hashに格納せずに、 直接渡そうとすると上手くいきません。 test(\( baa => 1, boo => 2 )); 考え方が間違っているのでしょうか。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
test({ baa => 1, boo => 2 }); でうまくいきませんか? [参考] http://www.rfs.jp/sb/perl/02/10.html の「無名ハッシュへのリファレンス」 #余談 testサブルーチンはこっちの環境だと 以下のようにしないと動かなかった。 sub test { my %hash = %{ (shift) }; print $hash{baa}; }
お礼
ありがとうございました!上手くいきました。 testサブルーチンは表記ミスです、すみません。