anyname@aa.company.com anyname@bb.company.com anyname@company.com #### use File::Find; sub wanted { local *F; if( $_ =~ /\.html?$/) { my $name = $File::Find::name; open ( F, $name ) or die "$!: $name\n"; while($line = ) { if($line =~ /\@(?:aa\.|\.bb)*company\.com/) { print "FILE = $_ ; } } close F; } } find( \&wanted, "/directory/path" );