修正
#!/usr/bin/perl use strict; use warnings; my @array = qw/1 2 3/; my @array2 = qw/1 2 3/; my %hash = { @array => 'foo' } print $hash{ @array2 }; // foo
みたいなこと出来ないのかな?
リファレンス使うのかな?
http://www.kt.rim.or.jp/~kbk/perl5.005/perldsc.html
↑この辺読み中
追記(insタグ使うと下線入っちゃうので)
#!/usr/bin/perl use strict; use warnings; my @array = qw/1 2 3/; my @array2 = qw/1 2 3/; my @array3 = qw/2 3 4/; my %hash; $hash{@array} = 'foo'; $hash{@array3} = 'baa'; while( my ($key, $value) = each %hash ) { print "key = $key : value = $value"; }
結果
key = 3 : value = baa
Perl難しい><
コメントで教えて貰いました。
これだと配列の要素数入れちゃってるだけだったみたいです。
更に追記
#!/usr/bin/perl use strict; use warnings; my %hash; $hash{1,2,3} = 'foo'; $hash{4,5,6} = 'baa'; while( my ($key, $value) = each %hash ) { print "key = $key : value = $value\n"; } print $hash{4,5,6}, "\n";
結果
key = 123 : value = foo
key = 456 : value = baa
baa
なんか正解に近づいてきた気がすると思ったけど
文字列として配列が展開されちゃってるだけな気がしてきた……orz
多次元ハッシュのエミュレーションってやつみたいです*1
さらに追記
そもそもMutableなものKeyにしちゃ駄目じゃん><
なんかテンパってるのか?俺?
*1:コメント欄参考