Path::Iterator::Rule 

use Path::Iterator::Rule;

my $next = Path::Iterator::Rule->new
             ->name('*.JPG')
             ->file()
             ->size('>2M')
             ->iter(@directories_to_search);

while ( defined( my $file = $next->() ) ) {
    say $file;
}