ミスティーネットPerl・CGI講座 パール・CGIレッスン MISTY-NETレンタルサーバー・PERLプログラミング講座 CGI&PERL究極のレシピ
| HOME | ご利用について | 推奨環境 | リンクに関して | 免責/規約 | お問合せ | ミスティーネット | リンク集 |
Perl言語リファレンス

ミスティーネットPerl・CGI講座/基本編
ミスティーネットPerl・CGI講座/基本編
始めに 始めに
変数について 変数について
処理の制御1 処理の制御1
処理の制御2 処理の制御2
配列の処理 配列の処理
ハッシュの処理 ハッシュの処理
数値の扱い 数値の扱い
文字の扱い 文字の扱い
時間の処理 時間の処理
サブルーチン サブルーチン
ファイルの処理 ファイルの処理
ディレクトリの処理 ディレクトリ処理
CGIについて CGIについて
漢字の処理 漢字の処理
    (文字コード)
Cookie の処理 Cookie の処理
正規阜サ1 正規阜サ1
正規阜サ2 正規阜サ2
演算子について 演算子について
ライブラリ ライブラリ
デバッグ デバック
環境変数について 環境変数
ミスティーネットPerl・CGI講座/基本編

ミスティーネットPerl・CGI講座/応用編
ミスティーネットPerl・CGI講座/応用編
カウンターを作ってみよう カウンターを
     作ってみよう!
ミニゲームを作ってみよう ミニゲームを
     作ってみよう!
ミスティーネットPerl・CGI講座/応用編

  HOME >> アルファベットで関数を検索 >> sort
sort [リストの並べ替えを行なう]
[関数の使い方・書式]

sort []
:サブルーチン名または、ブロック。
  ・・・ サブルーチン名あるいはサブルーチンへのリファレンスを格納したスカラ変数でもよい。但し、配列の要素を示す変数は不可。
:並べ替え対象のリスト。
:並べ替えされたリスト。


[関数の機能]
リストのリスト値を並べ替えて結果を返します。 デフォルトでは、文字列として昇順ソートが行なわれます(未定義値→空文字→ASCII文字列)。 これ以外の比較を行なう場合、比較処理を行なうサブルーチンまたはブロックをにセットします。

*注:サブルーチンやブロックを使用してソート処理を行なう場合は下記の点を御注意ください。

○ 再帰サブルーチンは使えません。
○ 比較対象の2要素は、@_ を経由しないで直接2つのスカラ変数 $a, $b に参照渡しされるため、サブルーチン/ブロック内で $a, $b の値を変更してはなりません。
○ サブルーチン/ブロックでは、$a を先に並べる場合、負の整数、$b を先に並べる場合正の整数、2つが等しい場合0を返すようにしている。
○ $a, $b は my 関数でレキシカル変数として宣言してはなりません。
○ $a, $b は use strict による制約の対象とはなりませんが、パッケージグローバルな変数です。
○ ソートルーチンは同じパッケージ内に配置する必要があります。


サンプルソース
● 文字列を降順にソートする
@articles = sort { $b cmp $a } @files;

● 数値を昇順にソートする
@sortd_nums = sort { $a <=> $b } @nums;

● ハッシュのキーを昇順にソートする
foreach $key ( sort keys %ENV) {
	print $key, '=', $ENV{$key}, "\n";
}


| HOME | ご利用について | 推奨環境 | リンクに関して | 免責/規約 | お問い合わせ | ミスティーネット |
(C)Copyright 2002 ミスティーネット Inc. All Right Reserved.