in reply to how to get context between two flag

Are you looking for something like this?
#!/usr/bin/perl use strict; while(<DATA>) { my ($line) = $_ =~ /\b(start\s.*end)\b/; print "$line\n" if ( $line ); } __DATA__ asdasd start asdasd asdasdasd asdasdas end asdasdas adasdas start as asdas dasdasdad asdasddas end qweqwe asdasd start asdsadsdasddasds sdasdas asdasdasdasd asdasdsa asdasd asd +asdasd end

Replies are listed 'Best First'.
Re^2: how to get context between two flag
by bichonfrise74 (Vicar) on Aug 07, 2009 at 00:38 UTC
    Oops, I thought your 3rd line is just one big line... Didn't see that it was broken into 3rd and 4th line. Anyway, I modified the code... so, this should do the trick.

    I'm not sure how to update my existing comment, that's why I had to create a new one.
    #!/usr/bin/perl use strict; local $/ = "\n\n"; while( <DATA>) { my ($line) = $_ =~ /\b(start\s.*\n?.*end)\b/; $line =~ s/\n/ /g if ( $line ); print "$line\n" if ( $line ); } __DATA__ asdasd start asdasd asdasdasd asdasdas end asdasdas adasdas start as asdas dasdasdad asdasddas end qweqwe asdasd start asdsadsdasddasds sdasdas asdasdasdasd asdasdsa asdasd asdasdasd end ds start asda end
Re^2: how to get context between two flag
by cxfcxf (Novice) on Aug 07, 2009 at 00:51 UTC
    the result is the same to mine... last line of file is
    asdasd start asdsadsdasddasds sdasdas asdasdasdasd asdasdsa asdasd asdasdasd end
    there is a \n at end of the first line