... use File::Path qw( rmtree ); use Date::Simple ('date', 'today'); ... my $dir = '/dir/'; opendir (DIR, $dir) or die "Couldn't open $dir directory, $!"; while (my $directories = readdir DIR) { next if $directories=~/^\./; if ($directories=~/(\d{2})(\d{2})(\d{4})/) { my $dir_date = date(sprintf '%4d-%02d-%02d', $3, $1, $2); if (($today - 60) > $dir_date) { rmtree("$dir/$directories")|| die ("ERROR::: cant delete: $!"); } } } closedir DIR;