“不能使用字符串作为散列引用”散列哈希的散列

时间:2013-04-27 15:22:41

标签: perl hash

我似乎遇到了处理哈希散列哈希问题。 我的数据结构是这样的:

$atomsArray{$number}{$serial} = {
    atom => $atom,
    x => $x,
    y => $y,
    z => $z
};

我在迭代原子时遇到了这个麻烦

for my $number(sort keys %atomsArray){
    for my $serial(sort keys %{$atomsArray{$number}}){
       #cannot iterate through x,y,z
    }
}

虽然,我希望得到x,y,z而无需迭代$ serial, 并且在散列中使用散列很重要,因为它必须在哪些原子之间计算原子。

1 个答案:

答案 0 :(得分:0)

由于我是一个如此愚蠢的人,我无法进行简单的迭代。 如何迭代哈希散列哈希的答案是:

for my $number(sort keys %atomsArray){
   for my $serial(sort keys %{$atomsArray{$number}}){
      print $atomsArray{$number}{$serial}{'x'};
   }
}