私は次のような構造を持っています(ハッシュのハッシュ):
$VAR1 = {
'Lee2000a' => {
'abstract' => 'Abstract goes here',
'author' => 'Lee, Wenke and Stolfo, Salvatore J'
'title' => 'Data mining approaches for intrusion detection'
'year' => '2000'
},
'Forrest1996' => {
'abstract' => 'Abstract goes here',
'author' => 'Forrest, Stephanie and Hofmeyr, Steven A. and Anil, Somayaji'
'title' => 'Computer immunology'
'year' => '1996'
}
};
この構造を 3 つの条件に従って (この順序で) 並べ替えたいと思います。
1 番目 - 年値 (1996,2000) による 2 番目 - 「外部」(Lee2000a、Forrest1996) 構造キーによる 3 番目 - 「内部」構造キー (要約、著者、タイトル、年) によるアルファベット順。
これまでのところ、何らかの方法で組み合わせる必要がある 2 つのコードがあります。
I. コードは 2 番目と 3 番目の基準を満たしています
for $i (sort keys(%bibliography)){
print "$i => ", "\n";
for $j (sort keys ($bibliography{"$i"})){
print "\t $j -> ", $bibliography{"$i"}{"$j"},"\n";
}
}
Ⅱ.コードは最初の条件を満たしています
for $i (sort { ($bibliography{$a}->{year} || 0) <=> ($bibliography{$b}->{year} || 0) } keys %bibliography){
print "$i => ", "\n";
for $j (sort keys ($bibliography{"$i"})){
print "\t $j -> ", $bibliography{"$i"}{"$j"},"\n";
}
}
どうもありがとうございました