push @files , map { "$d/" . $_} grep { -f && ( -s >= $min_size) && (-s <= $max_size) } read_dir($d); #this is untested.