in reply to Re^2: Regex: negative look ahead
in thread Regex: negative look ahead

It could be a good idea to split the big regex.

A good example: if you want to match lines with the words 'red' and 'dog'.

The first idea is often to write something like: $line =~ /red.*dog|dog.*red/

but there is a better way: $line=~/dog/ and $line=~/red/

So, it's probably better to treat each exclusion with one regex:  next if /regex/;

while (my $line = <DATA>) { next if $line =~ /^ERROR.*?Error processing Cancel Execution/; next if $line =~ /ERROR.*?license will expire/; print "Do something with the line: $line"; } __DATA__ ERROR 2012-04-02 05:00:18 Error processing Cancel Execution '2012-CSNY +1CMR-1-20120402-1247 52938803o122h090000507' with LHDRSeqId 'CSNY1CMR +1-1333315812780-2759'. [2012-04-02 07:04:27,275][ERROR][101574:Company:japan][analytics.bond. +BondAlibImpl] ALIB license will expire in29 days. Please upgrade lice +nse file under /app/license 2012-04-02 05:00:18,810[ERROR] limitCheck: error while checking instru +ction xxx.core.biz.order.instruction.EquityOrderSubmitInstruction(tsI +d=20120402-090237887-340-509,order=20120402-090237880-767-508:TS)