use File::Spec::Functions qw( catfile ); my $dir = ...; opendir(my $dh, $dir_name) or die("Unable to list contents of dir \"$dir_name\": $!\n"); while (defined(my $file_name = readdir($dh))) { my $full_name = catpath($dir_name, $file_name); next unless -f $full_name; unlink($full_name) or warn("Unable to delete file \"$full_name\": $!\n"); }