use warnings; use strict; use Date::Simple qw(date today); my $today = today(); while () { chomp; if (/(\d{2})(\d{2})(\d{4})/) { my $dir_date = date(sprintf '%4d-%02d-%02d', $3, $1, $2); print "delete $dir_date\n" if ($today - 60) > $dir_date; } } __DATA__ 11012014 11132014 10092014 09092014 11112015 01012015 04012015 01042011 10122014