Considering that you seem to be using grep style patterns (which are much simpler than Perl patterns), have you checked whether using grep may be faster? You may even want to compare various implementations of "grep". Then again, if the patterns are simple, Perl might not use the regexp engine at all, and just let the optimizer do all the heavy work.
Comment on Re: regexp performance on large logfiles