http://www.perlmonks.org?node_id=85582


in reply to deleting a file

How about something that uses the output of unlink for a good purpose? no sense in letting it go to waste, after all...
@files = qw/file1 file2 file3/; $cnt = unlink(@files); unless( scalar(@files) == $cnt ) { die("Problem unlinking $files[$cnt]! $!"); }
also, this tells you which file was the problem, e.g.
Problem unlinking file2! No such file or directory at del.pl line 4.
there's always a better way. is there something better here?

Update 2002-06-19: yes, there's a better way. the above code assumes too much about the return value from unlink.

you can't reliably determine which file(s) failed to unlink from the return code alone. i suggest the following modification, which will report accurate results:

unless( $cnt == @files ) { die 'Problem unlinking ', $cnt, ' of ', scalar(@files), ' files! ', +$!; }
=Particle