|
|
| Pathologically Eclectic Rubbish Lister | |
| PerlMonks |
How can I pull out lines between two patterns that are themselves on different lines?by faq_monk (Initiate) |
| on Oct 08, 1999 at 00:25 UTC ( [id://658]=perlfaq nodetype: print w/replies, xml ) | Need Help?? |
|
Current Perl documentation can be found at perldoc.perl.org. Here is our local, out-dated (pre-5.6) version:
You can use Perl's somewhat exotic
perl -ne 'print if /START/ .. /END/' file1 file2 ... If you wanted text and not lines, you would use
perl -0777 -pe 'print "$1\n" while /START(.*?)END/gs' file1 file2 ...
But if you want nested occurrences of
Here's another example of using
while (<>) {
$in_header = 1 .. /^$/;
$in_body = /^$/ .. eof();
# now choose between them
} continue {
reset if eof(); # fix $.
}
|
|