sub messages { my $dir = shift or return; my @messages; find(sub { next if /^\.+$/ || -d $File::Find::name; push @messages, $File::Find::name }, $dir); return @messages; } #### File 1 File 10 File 100 File 2 File 20 File 21 . . and so on