I think this is the best answer in the thread, but the join is a bad idea. You've already got newlines in there, so, so later someone will need to come along and do a "split /\n\n/, @datasets;". Assuming that the newlines are not needed, I would chomp them and use array references.
my $recordSet = 11; open FILE, "< $file" or die "Cannot open $file for reading: $!"; chomp ( my @list = <FILE> ); close FILE; my @datasets = (); while (my @subList = splice( @list, 0, $recordSet) ){ push @datasets, \@subList; }
With this, you now have an array or array refs, each containing precisely one record and no worries about adding extra newlines. Remember to always use Perl's data structures when possible (and reasonable, of course).
Cheers,
Ovid
Join the Perlmonks Setiathome Group or just click on the the link and check out our stats.
In reply to (Ovid) Re: Re: Parsing multi-line records
by Ovid
in thread Parsing multi-line records
by chuntoon
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |