use strict; use warnings; use 5.010; my @filelist = glob('c:\data\perl\bin\*.bat'); {local $,="\n"; say 'Unsorted', @filelist;} say; my @sorted = sort by_last_mod @filelist; {local $,="\n"; say 'Sorted', @sorted}; sub by_last_mod { my $adate = ( stat($a) )[9]; my $bdate = ( stat($b) )[9]; return $adate <=> $bdate; } #### Unsorted c:\data\perl\bin\ap-iis-config.bat c:\data\perl\bin\ap-update-html.bat c:\data\perl\bin\ap-user-guide.bat c:\data\perl\bin\c2ph.bat (...) Sorted c:\data\perl\bin\latexmk.bat c:\data\perl\bin\dprofpp.bat c:\data\perl\bin\exetype.bat c:\data\perl\bin\perlglob.bat (...)