use strict; use warnings; use File::Spec::Functions qw( catfile ); my $dir = 'F:\\test'; opendir(my $dh, $dir) or die("Can't open directory \"$dir\": $!\n"); my @dirs; while (defined(my $fn = readdir($dh))) { next if $fn eq '.' || $fn eq '..'; my $qfn = catfile($dir, $fn); if (-d $qfn && -M $qfn > 10) { push @dirs, $qfn; } } foreach (@dirs) { print("$_\n"); }