![]() |
|
Welcome to the Monastery | |
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 $. }
|
|