You are viewing the version of this documentation from Perl 5.40.0. View the latest version

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

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

On error, unlink will not tell you which files it could not remove. If you want to know which files you could not remove, try them one at a time:

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

Note: unlink will not attempt to delete directories unless you are superuser and the -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 unlink on directories is not supported on many operating systems. Use rmdir instead.

If LIST is omitted, unlink uses $_.