WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:Perlのソートに関する質問です。

0:[投稿] あまぐり [MAIL] [2002/12/05 19:58 ][環境:UNIX系+IE UNIX系+Perl]

はじめまして。
英語の月が入っている配列リスト"@month"を月ごとに並び替えてソートしたいのですが、どういった比較式を使用すればよいのかわかりません。

[例]

@month = ("Aug", "Dec", "Nov","Sep");
@month = sort {???} @month;

foreach $month (@month){
print "$month\n";
}

[実行結果]
Aug
Sep
Oct
Nov
Dec

っといった感じにしたいのですが可能でしょうか?
なにぶん初心なもので考え方じたいがおかしいのかもしれません。どうでしょうか?よろしくお願いします!


1:[回答] andi [2002/12/05 20:17 ]

こんな感じでどうでしょう。

%mon = (
      Jan => 0
     ,Feb => 1
     ,Mar => 2
     ,Apr => 3
     ,May => 4
     ,Jun => 5
     ,Jul => 6
     ,Aug => 7
     ,Sep => 8
     ,Oct => 9
     ,Nov => 10
     ,Dec => 11
);

@mon = qw(Mar Jan Feb Dec Nov Apr Aug);

print sort{ $mon{$a} <=> $mon{$b} } @mon;


2:[保留] あまぐり [2002/12/05 23:08 ]

ご返答ありがとうございます!!
早速明日会社で試してみます、その後結果をご報告します。



3:[完了] あまぐり [2002/12/06 11:43 ]

andiさま、

教えていただいた方法で無事にうまくいきました!
急ぎの仕事だったので、本当に助かりました。

これからもっと時間をかけて勉強していこうと思います。
ありがとうございました。

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]

ChaichanPAPA's World