在哈希数组中访问类型数组的哈希成员

时间:2015-07-28 19:16:35

标签: arrays perl hash

我有一系列像这样的匿名哈希:

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”数组?

1 个答案:

答案 0 :(得分:4)

因此,您可以引用要取消引用的数组。您有参考时的@array相当于@{ $ref },所以

print("@array\n");

print(join(', ', @array), "\n");

将是

print("@{ $_->{value} }\n");

print(join(', ', @{ $_->{value} }), "\n");

参考文献:

相关问题