in reply to Get file min and max size help!

Maybe this modification? I've assumed, that you'll need full path/file-names (see read_dir() in File::Slurp):

... push @files, grep { -f and -s $_ >= $min_size and -s $_ <= $max_ +size } read_dir( $d, prefix => 1 ); ...
Update: BTW: Instead of incrementing $c within the loop, you can have the same result by simply using:
...} # loop my $c = @directories; ...