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


in reply to Something like File::Find with sorting

First assemble all the file names, then sort and print:

use strict; use 5.01; use File::Find; my $dir = "lib"; File::Find::find (\&search, $dir); my @files; sub search { push @files, $_ if -f; } say for sort { lc($a) cmp lc($b) } @files;

Replies are listed 'Best First'.
Re^2: Something like File::Find with sorting
by Anonymous Monk on Feb 16, 2013 at 18:47 UTC

    Or if you want a per-directory view,

    my @files; sub search { push @files, $_ if -f; } sub handle_directory { @files = sort { lc($a) cmp lc($b) } @files; # do something with @files print "@files\n"; # get ready for the next directory undef @files; } File::Find::find( { wanted => \&search, bydepth => 1, postprocess => \&handle_directory }, $directory );