use File::Find; my @files; find (sub { m/\.csv$/i && -s $_ < 5500 and push @files, $File::Find::Name }, "C:/Temp"); say for sort @files;