in reply to Efficiency: Foreach loop and multiple regexs

broquaint's method is the most common one. You could also use eval to chain greps together.
my @grep = map "grep /$_/,", qw/ regex1 regex2 . . regex 140 /; my @match = eval join ' ', @grep, '@array';
For maximum efficiency make sure to sort the regex array by descending likelihood of a match.

Makeshifts last the longest.