But you can still avoid the
-e test:
unlink $filename or $! == 2 or die "Cannot unlink $filename: $!";
On my system, "2" is the code for a missing file for unlink.
If you don't mind the regex hit, you could also use:
unlink $filename or $! =~ /no such/i or die "Cannot unlink: $filename:
+ $!";
-- Randal L. Schwartz, Perl hacker
update:
This is actually faster than a separate test and unlink (one O/S call instead
of two),
and is less prone to race conditions. I'd actually scream at someone who did a -e/unlink pair instead of this in a security or performance related application.