Perhaps I am not understanding you correctly, but this seems to be a very different question than the one you asked first. In the example you gave, what happens to the values in $entry, $title, $org or $acc? You seem to drop them on the floor ...
To solve this kind of a problem, I would probably establish a hash of array references, something like this (untested):
use strict; my %filecontents = ('entries' => [], 'titles' => [], 'organisms' => [], 'accessions' => [], 'unknown' => [] ); my $filehandle; unless (open($filehandle,"<file.txt")) { die "Cannot open file.txt: $!"; } while (<$filehandle>) { chomp; if (/^ENTRY/) { push @{$filecontents{'entries'}}, $_; } elsif (/^TITLE/) { push @{$filecontents{'titles'}}, $_; } # and so on ... }
Update: Notice, by the way, that I check for success in opening the filehandle, always a good thing to do.
Update 2: Arrghh! I was duped! I didn't realize you'd asked this question before. Why not pay attention to the answers you've already received, as Fletch points out below?
In reply to Re^3: how to split the elements in an array of arrays ?
by ptum
in thread how to split the elements in an array of arrays ?
by heidi
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |