use File::stat; ... my %m; @allPictures = sort { ($m{$a} ||= stat($a)->mtime) <=> ($m{$b} ||= stat($b)->mtime) } @allPictures; #### my %m; @allPictures = sort { ($m{$a} ||= -M $a) <=> ($m{$b} ||= -M $b) } @allPictures;