2011-12-07 27 views
1

ハッシュの配列を持っています。何らかの基準を満たすすべてのハッシュを一度に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}}, $_; 
} 
関連する問題