綾小路龍之介の素人思考

[Perl] 多数のカラムでソート(複数キーソート)

#c.f. perl ソート 複数
@yy = map{join'<>',@$_}sort{($a->[0]cmp$b->[0]) or ($b->[2]<=>$a->[2]) or ($a->[1]cmp$b->[1])}map{[split/<>/]}@yy;

最初に1カラム目でソート、次に3カラム目でソート、最後に2カラム目でソートしているんだな。つまり、ソートの優先順位は1、3、2なんだな。例えばこんな感じに結果を得るんだな。

HTTP_ACCEPT<>*/*<>147
HTTP_ACCEPT<>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5<>1
HTTP_ACCEPT_CHARSET<>Shift_JIS,utf-8;q=0.7,*;q=0.7<>1
HTTP_ACCEPT_ENCODING<>gzip, deflate<>140
HTTP_ACCEPT_ENCODING<>gzip,deflate<>1
HTTP_ACCEPT_LANGUAGE<>ja<>146
HTTP_ACCEPT_LANGUAGE<>ja,en-us;q=0.7,en;q=0.3<>1
HTTP_ACCEPT_LANGUAGE<>ja-jp<>1
HTTP_ACCEPT_LANGUAGE<>zh-tw<>1
HTTP_CACHE_CONTROL<>max-age=259200<>1
HTTP_CONNECTION<>Keep-Alive<>145
HTTP_CONNECTION<>keep-alive<>3

ソーシャルブックマーク

  1. はてなブックマーク
  2. Google Bookmarks
  3. del.icio.us

ChangeLog

  1. Posted: 2007-11-17T22:55:19+09:00
  2. Modified: 2007-11-17T04:44:43+09:00
  3. Generated: 2017-09-26T23:09:18+09:00