匿名質問者
匿名質問者匿名質問者とは「匿名質問」を利用して質問した質問者。
「匿名質問」では、ユーザー名を公開せずに匿名の質問ができます。
詳しくはこちら

perlで日付で並び替えをさせたい。


データ登録順に表示しているのですが、これを日付順(新しいものが上)で掲載させたいです。
ソースは以下のようになっています。
open(IN,"$logfile") || &error("Open Error : $logfile");
 $top = <IN>;
 while (<IN>) {
  ($no,$year,$month,$day,$sub,$tail1,$W1,$H1,$date,$url,$view,$past,) = split(/<>/);
~ここに各データを表示~
}
また、日付は$dateに$year/$month/$day(2014/11/11)の形で入っています。
ファイルを開いて表示する前にソートすればいいと言うのは何となくわかるのですが、どのように記述したら良いでしょうか?

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2014/11/11 11:05:15
  • 終了:2014/11/18 11:10:07

回答(1件)

匿名回答1号 No.1

匿名回答1号「匿名質問」を利用した質問に回答すると「匿名回答○号」と匿名で表示されます。
「匿名質問」では、ユーザー名を公開せずに匿名の質問ができます。
詳しくはこちら
2014/11/12 23:14:05

my @items;
while (<IN>) {
	push @items, [split(/<>/)];
}
#foreach (sort {$b->[8] cmp $a->[8]} @items) {
foreach (sort {$b->[1] <=> $a->[1] or $b->[2] <=> $a->[2] or $b->[3] <=> $a->[3]} @items) {
	my ($no,$year,$month,$day,$sub,$tail1,$W1,$H1,$date,$url,$view,$past,) = @$_;
	#~ここに各データを表示~
}

dateが「2014/01/01」と0パディングしてあるならコメントアウトしてある「sort {$b->[8] cmp $a->[8]} @items」の方でもいけるはず。
http://ideone.com/wtM1Im

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません