http://www.perlmonks.org?node_id=1019077


in reply to Something like File::Find with sorting

File::Find::Rule provides a nice front end for File::Find:

use strict; use warnings; use File::Find::Rule; my $dir = "."; my @files = File::Find::Rule->file()->in($dir); print "$_\n" for sort { lc $a cmp lc $b } @files;

Partial output:

.project 10B.xml 10b.xml 1354903584-3827.xlsx 5a.xml 67.xml 6adh.pdb arrays.pl atom.pdb Bio_SeqIO.pl ...

You may also be interested in using Sort::Naturally for a lexical sort:

use strict; use warnings; use File::Find::Rule; use Sort::Naturally; my $dir = "."; my @files = File::Find::Rule->file()->in( $dir ); print "$_\n" for nsort @files;

Partial output

5a.xml 6adh.pdb 10b.xml 10B.xml 67.xml 1354903584-3827.xlsx arrays.pl atom.pdb Bio_SeqIO.pl Book1.xls