[perl] sortの使い方って?
[上に]
[前に]
[次に]
アルプスの少年ペーター
1999/12/15(水) 09:48:25
とほほさんのperlのページを読みましたが、sortの使い方が良く分かりません。
例えば、「@hogehoge」という配列データが以下のようにあったとして
--- ここから ---
aaa,bbb,1,ccc
ddd,eee,99,fff
ggg,hhh,3,iii
jjj,kkk,2998,lll
--- ここまで ---
これを、各行の内容のカンマで区切られている3つ目の情報(つまり、1,99,3,2998)でソート(少ない順/多い順)するのには、どうしたらいいのでしょうか?
お手数かけますが、よろしくお願いします。
aqua-J
1999/12/15(水) 10:06:53
@sortdata = sort { (split(/\,/,$a))[2] <=> (split(/\,/,$b))[2] } @hogehoge;
でできます。
他にも、いろいろ方法はあるけど。いろいろとレスがつきそうですね。。。
aqua-J
1999/12/15(水) 10:09:03
補足:多い順(3,2,1)は
@sortdata = reverse sort { (split(/\,/,$a))[2] <=> (split(/\,/,$b))[2] } @hogehoge;
#一度に言いなさい−>自分。。反省。。
アルプスの少年ペーター
1999/12/15(水) 11:20:21
[[解決]]
出来たぁ〜。
ありがとうございました。>aqua-J様
[上に]
[前に]
[次に]