while (<>) { if ( / ^ OVERVIEW \s $/x .. / ^ AFFECTED\ PRODUCTS \s $/x ) { print $_ unless /( ^ OVERVIEW \s $)|( ^ AFFECTED\ PRODUCTS \s +$)/x; } }
I added spaces to the regex because each line ends with a space. Here is the output:
This Updated Advisory is a follow-up to the original Advisory titled “ +ICSA-11-273-03—Rockwell RSLogix denial-of-Service Vulnerability” that was published September +30, 2011 on the ICS-CERT web page. ICS-CERT is aware of a public report of a denial-of-service vulnerabil +ity in Rockwell Automation’s RSLogix application. --------- Begin Update X Part 1 of 2 -------- Rockwell has produced a patch that mitigates this vulnerability for al +l affected versions of FactoryTalk Services Platform and RSLogix 5000. --------- End Update X Part 1 of 2 ----------
EDIT -- a cleaner version:
while (<>) { if ( / ( ^ OVERVIEW \s $ ) /x .. / ( ^ AFFECTED\ PRODUCTS \s $ ) /x ) { chomp; say $_ unless $_ eq $1; } }
In reply to Re: Regex problem
by frozenwithjoy
in thread Regex problem
by jayto
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |