#Um dos possíveis consertos (não testei):
local $/;
(my $data) = split(/- END TEST/, <DATA>);
my @registros = split (/\s*- TESTE\s*/, $data);
shift @registros;
for my $i (0..$#registros) {
print "Registro $i:\n$registros[$i]\n";
}
__DATA__
- TESTE
bla bla bla
bla
- TESTE
bla
bla
bla
- TESTE
bla bla bla
- END TEST
deveria ignorar
estes dados