2011-12-07 108 views
1

我有一個散列數組。我需要將符合某些標準的所有哈希集合到可以一次處理一個的組中。我認爲一個好方法是查看每個散列,確定它屬於哪個組,然後將散列添加到新數組。將散列數組傳遞給哈希哈希值

我在計算出使用什麼樣的數據結構時遇到了一些麻煩。一組哈希數組? (所以每個組都有一個父數組的元素,並且子數組包含哈希。)有沒有更好的方法來做到這一點與引用?

我的出發點是這樣的:

foreach (@AoH) { 
    my $group = int($_->{'ID'}/10); 

... need to collect the hash $_ with other hashes that have the same $group ... 
} 

回答

3

我會使用散列陣列的散列結果,其中的關鍵是該組。

my %HoAoH; 
foreach (@AoH) { 
    my $group = int($_->{'ID'}/10); 
    push @{$HoAoH{$group}}, $_; 
}