rename $filename, $filename.".bak" or die "$!"; open(IN, $filename.".bak") or die "$!"; open(OUT, ">".$filename) or die "$!"; while () { s/content/newcontent/g; print OUT; } close OUT; close IN;