次のように宣言された配列のハッシュがあります。
my %hash;
push @{ $hash{ $value1[$_] } }, [ $value1[$_], $value2[$_], $value3[$_], $value4[$_], $value5[$_] ] for 0 .. $#value1;
次を使用して各キーの値を検査できるようにしたい:
open KEYS, '>keys.txt' or die "Can't write to 'keys.txt'\n";
for my $key ( sort keys %hash ) {
print KEYS "Key: $key contains the values: ";
for my $value ( @{$hash{$value1}} ) {
print KEYS "$value ";
}
print KEYS "\n";
}
close(KEYS);
Data::Dumper を使用してキーと関連する値を視覚化することはできますが、上記のコードからの出力は、各キーの値ではなくメモリ ロケーションを示します。例えば:
Key: 'Value1' contains the values: ARRAY(0x7fcd8645ba68)
各配列に同じ数の値をプッシュしていますが、各キーには異なる数の値が含まれています
私がこれについて行っている方法に何か問題がありますか?