sort


sort SUBNAME LIST
sort BLOCK LIST
sort LIST

 LISTをソートしてLISTを返す関数です。
 sort LISTという形式では、LISTの中身を文字列として比較して昇順(小さい順)に並べ替えたLISTを返します。
 sort BLOCK LISTという形式では、BLOCKで並べ換え方の指定ができます。
 sort SUBNAME LISTという形式では、SUBNAMEで並べ換えの方法を記述した関数を指定します。
 BLOCK、SUBNAMEどちらの形式でも$a$bを使って2つの要素の大小比較を行います。大小比較の結果は、$aを前に置く場合は負の値、$bを前に置くなら正の値、同じ場合には0にします。

サンプルプログラム

# sort LIST
@foo = sort @foo;

# sort BLOCK LIST
@foo = sort {$a <=> $b} @foo; # @fooを数値の昇順(小さい順)で並べ換えます

# sort SUBNAME LIST
@foo = sort hoge @foo;

sub hoge {
    # 文字列を大文字小文字関係なく降順(大きい順)で並べ換えます
    return lc($b) cmp lc($a);
}


関連項目

配列値のソート
reverse関数
比較演算子