空行の連続を1つにまとめたいと お友達から相談された。 ラクダ(赤)本には perl -ne 'print unless $seen{$_}++' 「ファイル名」 と美しくもメモリ大名なワンライナーがのってましたが、もうちょっと省エネな例; #!/usr/local/bin/perl -w foreach $i (@ARGV){ open(IN, "$i") || die "can't open $1 \n"; open(OUT, ">$i.new")|| die "can't open $1.new \n"; while(<IN>){ if ($m ne $_) { print OUT $m; $m = $_; } print OUT $m if(eof); } close(IN); close(OUT); }