7.15 一時ファイルを使用して、ファイルをその場で修正する

元のファイルを読み取り、修正を行い、修正した結果を一時ファイルに書き込む。そして、その一時ファイルの名前を変更して、元のファイルと同じ名前にする。

open(OLD, "<", $old) or die;
open(NEW, ">", $new) or die;
while(<OLD>) {
  # $_を修正する
  print NEW $_ or die;
}
close(OLD) or die;
close(NEW) or die;;
rename($old, "$old.orig") or die;
rename($new, $old) or die;