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
は、スカラ変数でもよく、その場合には、その値が使用するサブルーチンの名前と解釈されます。