I would have some code to make a backup of some kind, even if I used Tie::File. There is just so much that can go wrong when debugging a new version or some slightly different input file shows up and program fails. I've saved my own butt many times with a .bak1, .bak2 file...This stuff can go in a temp directory that periodically gets cleaned out. Creating long lived "junk" is also a problem, but of a different sort. If you have backups from yesterday that's a good thing, but I never want to resort to that to fix something that just went wrong 5 minutes ago.