bate's blog

調べたこと実装したことなどを取りとめもなく書きます。

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;