Here is a short version. Thanks to everyone who helped me: Unexpected matching results.
use strict; use warnings; my @results = do { local $/ = ''; # paragraph mode map { my $p=$_; [ map { $p=~/$_ (\S+)/?$1:'UNDEF' } qw/TYPE CA +USE AFFECT/ ] } grep { /TYPE/ } <DATA>; }; print "@$_\n" for @results; __DATA__ // HEADER TAG // VERSION TAG TYPE VALUE1 EQUALS MAIN I am useless text CAUSE FAIL AFFECT ERROR ENDTYPE TYPE VALUE2 EQUALS MAIN I am useful test ENDTYPE TYPE VALUE3 EQUALS MAIN CAUSE DEGRADED ENDTYPE TYPE VALUE4 EQUALS MAIN AFFECT WARNING ENDTYPE
In reply to Re: File Parsing and Pattern Matching
by hdb
in thread File Parsing and Pattern Matching
by Mark.Allan
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |