For starters, I'm not sure why this is in this thread. You might benefit from starting a new one since more eyes will see your post.
Sounds very convoluted. Have you thought about using functions? Not sure what your data looks like, so this may not fit without modification:
sub read_block {
my ($fh) = @_;
my $header = <$fh>;
return undef if !defined($header);
my @block = $header;
do {
my $line = <$fh>;
die "Unexpected end of file\n" if !defined($line);
chomp($line);
push @block, $line;
while ($line !~ /footer/);
return \@block;
}
while (my $block = read_block($fh)) {
...process block...
}
|