dyno2316 ロヒミフ perl VBA Excel 秀丸

実行方法

#
# perl sortsel.pl 引数1 引数2 引数3
#
# 引数1--FIN、引数2--FOUT、引数3--科目コード
#
#★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
# FIN:レイアウト
#   1バイト目から2バイト:科目コード
# 3バイト目から2バイト:頁番号
# 5バイト目から7バイト:受験番号
# 12バイト目から3バイト:点数
#
# FOUT:FINと同じレイアウトで
#   引数3の科目コードで抽出、受験番号>科目コード>頁番号順でソート
#★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

open(FIN,$ARGV[0]) || die "001 can't open $ARGV[1]¥n";
open(FOUT,">$ARGV[1]") || die "002 can't open $ARGV[2]¥n";
@temp = @result = ();

while($rec=&ltFIN>)
{
chomp($rec);
$kamoku = substr($rec,0,2); #科目コード

#print "Debug $kamoku $pageno $ jyuno ¥n";


#----科目コードによる抽出
if ($kamoku ne $ARGV[2]) {next};

push @temp,$rec;
}
#foreach $rec (@temp) { print "Debug $rec¥n"};

#----ソート
@result = sort {join("",substr($a,4,7),substr($a,0,4)) cmp join("",substr($b,4,7),substr($b,0,4))} @temp;

#----ソート
foreach $rec (@result) { print FOUT "$rec¥n"};


close(FOUT);
close(FIN);