2013-04-27 87 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'}; 
    } 
}