我有一系列像这样的匿名哈希:
my @arrayOfHashes=(
{
name => 'foo',
value => ['one', 'two']
},
{
name => 'bar',
value => ['two', 'three']
}
);
我正在尝试迭代数组并在每个哈希中访问数组:
foreach (@arrayOfHashes) {
print $_->{'value'} # ARRAY(0x88489f4)
}
上面打印的值不是我想要的...我想使用该数组,所以它的工作原理如下:
print qw(one two) # onetwo
但是,当我像这样使用 qw 时:
my @arrayOfHashes=(
{
name => 'foo',
qw(one two)
},
{
name => 'bar',
qw(three four)
}
);
我在运行时收到此错误消息(我使用的是严格模式):
Odd number of elements in anonymous hash at ...
如何在 foreach 块中引用“value”数组?
答案 0 :(得分:4)
因此,您可以引用要取消引用的数组。您有参考时的@array
相当于@{ $ref }
,所以
print("@array\n");
print(join(', ', @array), "\n");
将是
print("@{ $_->{value} }\n");
print(join(', ', @{ $_->{value} }), "\n");
参考文献: