cpan
デフォルトのモジュールじゃないのか。
1 #!/usr/bin/perl 2 # $ARGV[0]:field 3 # $ARGV[1]:in file 4 # $ARGV[2]:out file 5 6 # 全レコードを配列に入れる 7 open IN, $ARGV[1] or die "$!"; 8 while(<IN>) { 9 chomp; 10 push @records, $_ 11 } 12 13 # 指定されたフィールドの数値でソート 14 @records_sorted = sort { (split " ", $a)[$ARGV[0]] 15 <=> (split " ", $b)[$ARGV[0]] } @records; 16 17 # ソートされたものをファイルに出力 18 open OUT, '>'.$ARGV[2] or die "$!"; 19 foreach (@records_sorted) { 20 print OUT $_."\n"; 21 } 22 close OUT;