In article <1893d21769b943eea293dcc1e9429...@p43400e>, David
Christensen <dpchr...@holgerdanske.com> wrote:

> Is unlink() supposed to provide an error message on failure?  The
> documentation does not say so:

I've fixed this in commit 40ea6f68 to perl blead. The entry now reads:

=item unlink LIST
X<unlink> X<delete> X<remove> X<rm> X<del>

=item unlink

Deletes a list of files. On success, it returns the number of files
it successfully deleted. On failure, it returns false and sets C<$!>
(errno):

    my $unlinked = unlink 'a', 'b', 'c';
    unlink @goners;
    unlink glob "*.bak";

On error, C<unlink> will not tell you which files it could not remove.
If you care about the files you could not remove, try them one
at a time:

     foreach my $file ( @goners ) {
         unlink $file or warn "Could not unlink $file: $!";
         }

Note: C<unlink> will not attempt to delete directories unless you are
superuser and the B<-U> flag is supplied to Perl. Even if these
conditions are met, be warned that unlinking a directory can inflict
damage on your filesystem.  Finally, using C<unlink> on directories is
not supported on many operating systems.  Use C<rmdir> instead.

If LIST is omitted, C<unlink> uses C<$_>.

-- 
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/


Reply via email to