ファイルの末尾の空改行をすべて削除し、上書き保存するサンプルスクリプトです。

open(DATA,"<$tmpfilename") or die $!;
my $content = do {local $/; <DATA>};
close(DATA);

while (1) {
if (substr($content,-1) ne "\n"){
last;
}
chomp ($content);
}

open(DATA,">$tmpfilename") or die $!;
print DATA $content;
close(DATA);


DQFAQの再構築にあたって、ファイルの末尾に改行がついてたり、ついていなかったり、という不統一を修正する過程で、探してもなかなかサンプルスクリプトがなかったのでメモ。