use strict; use warnings; use File::Slurp qw(read_dir); my @newest = (sort { -M $a <=> -M $b } grep { -d } read_dir('./'))[0..19];