Adapt my code like this:
#!/usr/bin/perl
use warnings;
use strict;
my @current_record;
while (<DATA>)
{
process_record() if /^\s*START/;
}
foreach (@current_record)
{
print;
}
sub process_record
{
my $line;
@current_record=();
while (defined ($line = <DATA>) and $line !~ /^\s*END/)
{
push @current_record, $line;
}
}
__DATA__
XXXX
YYYY
START
These are the first
set of lines
which are to be extracted
END
START
These are the second
set of lines
which are to be extracted
END
XXX
ZZZ
YYY
START
These are the third
set of lines
which are to be extracted
END
aasds
tteret
tertetr