Thank you for your reply!
I have been looking at Apache ParseLog from CPAN and then read the comments. Then i switched over to App::YG::Apache, whose parser is much much more elegant and readable, but limited to one case. I know from my limited experience that the Perl regex machine is extremely fast when it comes to finding matches, but can take quite a long time for failures, so I was thinking, for a more general case, if there was yet another way to parse these files that might be faster without using regular expressions that I could play around with.