use File::Path 'remove_tree'; for my $file (@files) { unlink($file) if -f $file; remove_tree($file) if -d $file; }