Perl - 通过数组值的哈希迭代

时间:2014-06-06 14:29:02

标签: arrays perl hash

我有一个数据结构,我想迭代,然后推送到另一个数组进行临时存储。

散列中的每个视图都有一个fieldsets数组。

1 = {
   fieldset => ('package', 'payment'),
},

2 => {
   fieldset => ('address, 'review'),
}
3 => {
   fieldset => ('confirm'),
}

等。

我想获取所有这些值,逗号将它们分成另一个数组,这样我就可以看到客户已经离开了哪些步骤。

如果我尝试

@array = $value->{fieldsets} 

它只抓取第一项。我如何抓住所有这些?

如果我没有足够深入地解释它,请告诉我。

1 个答案:

答案 0 :(得分:1)

哈希值包含标量。

1 = {
   fieldset => ('package', 'payment'),
},

变平:

1 = {
   fieldset => 'package',
   payment => undef,
},

你想:

1 = {
   fieldset => ['package', 'payment'],
},

存储arrayref标量,并通过解除引用字段集键的内容进行访问:

@array = @{$value->{fieldset}}