in reply to Getting lines in a file between two patterns
You could use a counter, which is set to 1 when you reach START then reset to 0 when you reach END. As the counter will only be 1 between START and END, you can simply print out any lines where this is the case.
Output:use strict; my $count = 0; open (IN, "input.txt"); while (<IN>) { if (/START/) { $count = 1; } elsif (/END/) { $count = 0; } elsif ($count) { print; } } close IN;
I wasn't sure if the blank lines were intentional, but if you don't want them, change toThese are the first set of lines which are to be extracted These are the second set of lines which are to be extracted
elsif ($count && $_ !~ /^$/)
|
---|
In Section
Seekers of Perl Wisdom