![]() |
カレッヂ |
質問者 junnitisibasaki
投稿日 5/14(月) 16:09:45
open(DATA "data.txt"); @txt =<DATA>; @txtの中に例えば 数量、名前、日付等のデータが 2, ABC, 1/1 1, DEF 2/1 3, GHI 3/1 このようなカンマ区切りでデータが入っている場合 数量を基準に配列@txtを並べ替えることは出来るでしょうか? |
回答者 しあわせのツボ
[削除]
投稿日 5/14(月) 17:24:37
@txt = sort { (split(/\,/,$a,3))[0] <=> (split(/\,/,$b,3))[0]; } @txt; ですかね。 逆順(多い方が先)にしたければ$aと$bを入れ替えて下さい。 |
質問者 junnitisibasaki
[削除]
投稿日 5/15(火) 12:52:56
しあわせのツボさんへ。 返信ありがとうございました。 もう少し教えていただきたいのですが @txt = sort { (split(/\,/,$a,3))[0] <=> (split(/\,/,$b,3))[0]; } の最後の[0]は0列目という意味だと思うのですが /\,/の\はどういう意味なのでしょうか? $a,$bを見比べているのは分かるのですが$a、$bを入れ替えると降順でソートできましたがこれは$a、$bというのは何かの決まり文句みたいなものなのでしょうか? 最後の3は何を意味するものなのですか? 是非教えてください。 |
このページは終了したので返信(回答)は書きこめません
Web裏技 |