my $debug = 1; my @oldest_10_files = ( map { $_->[1] } sort { $b->[0] <=> $a->[0] } map { [ -M $_, $_ ] } glob( "/path/to/directory/*" ) )[0..9]; unlink @oldest_10_files unless $debug; print "The following files have been removed\n\n", join "\n", @oldest_10_files;