I'd do:
my %data;
my ($id, $info);
while (my $stLine = <DATA>) {
chomp($stLine);
if ($stLine =~ /^>+/) {
($id, $info) = (split/\|/,$stLine)[3,4];
}
else {
$data{$id}{$info} .= $stLine;
}
}
dump%data;
__DATA__
>gi|84341511|gb|DU991381.1| KBrH087L18R KBrH (HindIII) BAC library Brassica rapa subsp. pekinensis Brassica rapa subsp. pekinensis genomic clone KBrH087L18, genomic survey sequence
ATGCCTTCAATGTCAAAGGCCGGTGTGATTTTGATCTTTACTTCAATCAGGTTCTCTTCTTTTCTTTGGT
AAGAACTTTTGTTCAGTTTATTTTGATCCTTACATGCTTCGTTTTGTGCTTTACAGAGGAACCCTATAGG
AGCTGCAGAGTTTGCCTGGAACATAATGAATTTTAAGGAAGATCAGGATGTTAGGATCAAAGTTGGCTAC
GAAATGTTTGATAAGGTATCTCTCTCTCTCTCTCTCTCTCTAGTAGCTGAAGCATGTTAACTGTTCCAAA
CTTCAAAGTAAACAATGTGTTGTGTC
>gi|84341510|gb|DU991380.1| KBrH087D08R KBrH (HindIII) BAC library Brassica rapa subsp. pekinensis Brassica rapa subsp. pekinensis genomic clone KBrH087D08, genomic survey sequence
GGATAACTTCTTCTTGCCAACTCCTATGAGATTTATTCAACTTCCTGGTGATTCTCCACCACTTTATGTA
TCCAAATCAAGTTTCTCACAAAGTGAGTCATCCTGGTTTGATTGGAACGACGAAGAATCTGTCTCATTCC
CAAACTGGGAAACTGGAATCACCTGATTTCAAAGTGGGATAACTTCGTCTTGCTAACTCCTATGATATTT
ATTCAACTTCCTGGTGATTCTCCACCAGTTTATEESSF
output:
(
"DU991381.1",
{
" KBrH087L18R KBrH (HindIII) BAC library Brassica rapa subsp. pekinensis Brassica rapa subsp. pekinensis genomic clone KBrH087L18, genomic survey sequence" => "ATGCCTTCAATGTCAAAGGCCGGTGTGATTTTGATCTTTACTTCAATCAGGTTCTCTTCTTTTCTTTGGTAAGAACTTTTGTTCAGTTTATTTTGATCCTTACATGCTTCGTTTTGTGCTTTACAGAGGAACCCTATAGGAGCTGCAGAGTTTGCCTGGAACATAATGAATTTTAAGGAAGATCAGGATGTTAGGATCAAAGTTGGCTACGAAATGTTTGATAAGGTATCTCTCTCTCTCTCTCTCTCTCTAGTAGCTGAAGCATGTTAACTGTTCCAAACTTCAAAGTAAACAATGTGTTGTGTC",
},
"DU991380.1",
{
" KBrH087D08R KBrH (HindIII) BAC library Brassica rapa subsp. pekinensis Brassica rapa subsp. pekinensis genomic clone KBrH087D08, genomic survey sequence" => "GGATAACTTCTTCTTGCCAACTCCTATGAGATTTATTCAACTTCCTGGTGATTCTCCACCACTTTATGTATCCAAATCAAGTTTCTCACAAAGTGAGTCATCCTGGTTTGATTGGAACGACGAAGAATCTGTCTCATTCCCAAACTGGGAAACTGGAATCACCTGATTTCAAAGTGGGATAACTTCGTCTTGCTAACTCCTATGATATTTATTCAACTTCCTGGTGATTCTCCACCAGTTTATEESSF",
},
)