my $SomeFile = "delme.txt"; open inFile, "<$SomeFile" or die "Can't open $SomeFile for input: $!"; open outFile, ">~$SomeFile" or die "Can't open ~$SomeFile for output: $!"; print outFile while ; close inFile; close outFile; unlink "$SomeFile.bak"; rename $SomeFile, "$SomeFile.bak"; rename "~$SomeFile", $SomeFile;