$datapath = "/Users/code/data"; my @allfiles = sort { -M $a <=> -M $b } <$datapath/*.*>; foreach $item (@allfiles) { # parsing... } #### $datapath = "/Users/code/data"; foreach (sort { -M $a <=> -M $b } <$datapath/*.*>) { # filename is in $_ }