| Next | Trivial Utilities | 154 |
Here's what I should have done:
unless (open IN, "< $file") {
warn "Couldn't open file `$file' for reading: $!; skipping.\n";
next;
}
unless (rename $file, "$file.$$.tmp") {
warn "Couldn't rename file `$file': $!; skipping.\n";
next;
}
unless (open OUT, "> $file") {
warn "Couldn't open file `$file' for writing: $!; skipping.\n";
rename "$file.$$.tmp", $file
or die "Couldn't restore $file.$$.tmp to $file: $!;
ABORTING";
}
...
unlink "$file.$$.tmp";
I suppose it would have been cleverer to use Perl's -i.bak feature:
local $^I = "";
while (<>) {
...
}
I wish I had thought of it at the time
| Next | Menu | ![]() |
Copyright © 2012 M. J. Dominus |