sort [SUBNAME] LIST
sort [BLOCK] LIST
sort [BLOCK] LIST
配列LISTの値をソートして返します。引数SUBNAMEには、ソートの比較式を指定できます(<=>演算子やcmp演算子が便利です)。SUBNAMEやBLOCKを省略すると、標準の文字列比較の順番でソートが行なわれます。SUBNAMEの代わりに、無名のインラインソートルーチンとして、BLOCKを書くことができます。
sortの使い方
# 文字の順でソート
@sort_array = sort @array;
# 文字の順で逆順にソート
@sort_array = sort {$b cmp $a} @array;
# 数値の昇順にソート
@sort_array = sort {$a <=> $b} @files;
# 数値の降順にソート
@sort_array = sort {$b <=> $a} @files;
# サブルーチン名を指定してソート
sub byage {
$age{$a} <=> $age{$b}; # 整数を仮定
}
@sort_array = sort byage @class;
引数SUBNAMEは、スカラ変数でもよく、その場合には、その値が使用するサブルーチンの名前と解釈されます。