2013-04-27 104 views
-1

我似乎陷入了处理散列散列值散列值的麻烦。 我的数据结构是这样的:“不能使用字符串作为散列引用”散列散列的散列值

$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,而无需通过$串行迭代, 并且在散列中加上散列是很重要的,因为它在哪些原子之间有不同,我必须计算原子。

+0

这不是它是否是好还是不好,我需要一种方法,通过第三级哈希迭代。 – 2013-04-27 16:22:16

回答

0

因为我是一个如此愚蠢的人,我无法得到简单的迭代。 如何遍历哈希散列的散列答案是:

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