in reply to File Parsing and Pattern Matching

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

Replies are listed 'Best First'.
Re^2: File Parsing and Pattern Matching
by Mark.Allan (Sexton) on Sep 06, 2013 at 18:59 UTC

    Some very helpful answers! Thank you everyonw who contributed