perl でハッシュ(連想配列)のソートを行なう処理、今まで何度も何度も何度も何度も(ry 書いてきたのに、毎回忘れるんですよね。 どんだけ鳥頭なんだ、と。 というわけで、忘れても困らないようにここに書いておきます。 ハッシュのキーでソートする ハッシュのキーでソートするのは簡単です。 sort keys %hash; これでソートされたキーのリストが返ります。 foreach を使ってキー順にハッシュを処理したいなら、 foreach $key (sort keys %hash){ print qq|Key: $key\n|; print qq|Value: $hash{$key}\n|; } こんな感じになります。 ハッシュの値でソートする ハッシュの値でソートする場合は、以下のようになります。 sort {$hash{$a} <=> $hash{$b}} keys %hash; これ