[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

(DTPtechNote:481) Re: perlのsort



>これだけで良くないか?

残念でした。これではダメなの。
要するにこの場合、$data[1]の文字列がソート全体に影響を与えてはいけないの。
元の@dataの順序をそのまま守らなくては。
たとえば、Excelなどで列をキーにソートすると、値が同じものは、元の順序を維持してくれますよね? それと同じコトがしたかったんです。
でどうやらsortコマンドそのものが、内部的にハッシュなのではないか? だから出力結果が崩れるのではないかと推測しています。

>てことは、といいつつ書いたスクリプトはそれとはあんまり関係ないね。

そうそう(^^;;;;; 
シュウォーツ変換で書くとしたらこんな感じかな。。。

@sortdata =  map { $_ -> [0] } sort { $a -> [1] cmp $b -> [1] } map { [ $_, (split /\t/)[0]] } @data;