while(<*.html>) { $oldname = $_; open(OLD,"<$oldname") || die "Can't open input file $oldname $!"; s/\.html$/\.new/; $newname = $_; open(NEW,">$newname") || die "Can't open output file $newname $!"; while() { s/gopher/World Wide Web/gi; print NEW; } close(OLD); close(NEW); $backupname = $oldname; $backupname =~ s/\.html$/\.bak/; unlink $backupname || die "Can't delete old backup file $backupname $!"; rename $oldname, $backupname || die "Can't rename $oldname to $backupname $!"; rename $newname, $oldname || die "Can't rename $newname to $oldname $!"; }