Perl ネタ
【Perl おぼえがき】ハッシュの並び替えを扱ってみる。
2015/07/08
とりあえずハッシュがどんなものか分かったところですが、keys 関数や value 関数で取り出すときに配列の順序がバラバラになってしまいます。

そこで、ハッシュを値でソートしたいです。
use strict;
use warnings;
my %item = (a => '1', b => '2', c => '3', d => '4');
for (sort {$item{$a} <=> $item{$b}} keys %item) {
print "$_, $item{$_}\n";
}
出力結果
a, 1
b, 2
c, 3
d, 4
キーでソートするだけなら sort keys %item とすれば良いのですが、値でソートしたかったので sort { $item{$a} <=> $item{$b}} keys %item としております。
$a と $b を入れ替えれば降順にすることも可能です。
2015/07/08