我有以下形式的两个数组:
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 />";
}
但没有得到可行的结果。