in reply to Pattern matching with hash

Well, you're saying "hash" but using an array. Presuming you mean array there, you can convert the contents of the array into a regex that matches any of them simply:
my $pat = join "|", map quotemeta, @emailcrit; $pat = qr/$pat/; # compile it once
Do this before any loop. In the loop, you can now use $pat where you would have used your original pattern, and you'll find the entries you desire.

-- Randal L. Schwartz, Perl hacker