[perl] sortの使い方って(数字・文字まざり編)?

[上に] [前に] [次に]
アルプスの少年ペーター 1999/12/15(水) 11:45:05
../199912/99120239.htm で質問させていただいた少年です。

配列@hogehoge
--- ここから ---
aaa,bbb,1,ccc
ddd,eee,99,fff
ggg,hhh,3,iii
jjj,kkk,2998,lll
--- ここまで ---

を三つ目の要素(1,99,3,2998)でソートするやり方は分かったのですが

> @sortdata = sort { (split(/\,/,$a))[2] <=> (split(/\,/,$b))[2] } @hogehoge;

この配列が下記のようなものだった場合、
--- ここから ---
aaa,bbb,1999/11/08(月) 11:00:50,ccc
ddd,eee,1999/10/14(木) 10:16:46,fff
ggg,hhh,1999/07/28(水) 09:20:05,iii
jjj,kkk,1999/11/11(木) 08:46:42,lll
--- ここまで ---

つまり、配列に記録されている日付順に並べたいのですが
うまくいきません。
なぜでしょうか?

andi 1999/12/15(水) 12:26:00
../199911/99110330.htm
で解決しますでしょうか?

アルプスの少年ペーター 1999/12/15(水) 12:56:30
@sortdata = sort { (split(/\,/,$a))[2] <=> (split(/\,/,$b))[2] } @hogehoge;

@sortdata = sort { (split(/\,/,$a))[2] cmp (split(/\,/,$b))[2] } @hogehoge;
に変えたらうまくいきましたぁ!
ありがとうございましたぁ!

アルプスの少年ペーター 1999/12/15(水) 13:00:05
[[解決]]
.

[上に] [前に] [次に]