opendir(DIR,$archivedir) || die "Could not open $archivedir:$!\n"; foreach (readdir(DIR)) { # put all the non-dir files into array push(@files,"$archivedir/$_") if -f "$archivedir/$_"; } @files=sort {(-M $a)<=>(-M $b)} @files;