use File::Find; #... sub dir_has { my $base=shift; my $reg=shift; my $ok=0; find(sub{ $_=~$reg && $ok++ },$base) return $ok; }