次の形式の 2 つの配列があります。
root rhino root root root root root root root root root root domainte root
stam rhino jam onetwo domante ftpsi jay testwp contra raul vnod foos raul bruce
SO から得たヘルプを使用して、両方を次のようにハッシュに入れました。
my %hash;
for my $idx (0 .. $#test2) {
push @{ $hash{ $test2[$idx] } }, $test3[$idx];}
print "<br /><br /><br /><br />";
print Dumper \%hash;
次の出力が得られます。
$VAR1 = { 'rhino' => [ 'rhino' ],
'domante' => [ 'raul' ],
'root' => [ 'stam', 'jam', 'onetwo', 'domante', 'ftpsi',
'jay', 'testwp', 'contra', 'raul', 'vnod',
'foos', 'bruce' ]
};
次のように、キーと値を 2 つの配列にプッシュします。
my @q1 = keys %hash;
my @q2 = values %hash;
print "<br /><br /><br /><br />";
print @q1;
print "<br /><br /><br /><br />";
print @q2;
印刷中にキーは正しく表示されますが、値は次の出力を印刷します。
ARRAY(0x9bf0b0)ARRAY(0x9bf1e8)ARRAY(0x9bf068)
すべての値を配列に取得するにはどうすればよいですか? 私は何を間違っていますか?
編集:
これが私が試したことです:
foreach (@q1)
{ print @{$hash{$q1}};
print "<br />";
}
しかし、実行可能な結果は得られませんでした。