IMHO, a hash would be the logical choice for the representation of the data...
use warnings;
use strict;
use Data::Dumper;
my (%result, $key, $val);
while (<DATA>) {
if (/^>(.*)$/) {
$result{$key} = $val if $val;
$key = $1;
$val = '';
next;
}
chomp;
$val .= $_;
}
continue {
$result{$key} = $val if $val;
}
print Dumper \%result;
__DATA__
>SEQ1
-----I--RL--AAIDVDG-NLT----------D--R--D-RL-ISTKA-IESIRS--A-
-E-K--------K-GLT-VSL----LS------GN-V----I-PVV---YA-L------K
IF---------------L-----GINGPVF------------------------------
>SEQ2
-MKI----KA--ISIDIDG-TIT------YPN-R-------MIHEK--A-LEAIRR--A-
-E-S--------L-GIP-IML----VT------GN-T----V-QFA---EA-A------S
IL---------------I-----G----TS-----------------GP-VV--------
>SEQ3
--KI----KA--ISIDIDG-TIT------YPN-R-------MIHEK--A-LEAIRR--A-
-E-S--------L-GIP-IML----VT------GN-T----V-QFA---EA-A------S
IL---------------I-----G----TS-----------------GP-VV--------
---AE--D------GG---A---------------------------------------I
$VAR1 = {
'SEQ3' => '--KI----KA--ISIDIDG-TIT------YPN-R-------MIHEK--A
+-LEAIRR--A--E-S--------L-GIP-IML----VT------GN-T----V-QFA---EA-A-----
+-SIL---------------I-----G----TS-----------------GP-VV-----------AE--
+D------GG---A---------------------------------------I',
'SEQ2' => '-MKI----KA--ISIDIDG-TIT------YPN-R-------MIHEK--A
+-LEAIRR--A--E-S--------L-GIP-IML----VT------GN-T----V-QFA---EA-A-----
+-SIL---------------I-----G----TS-----------------GP-VV--------',
'SEQ1' => '-----I--RL--AAIDVDG-NLT----------D--R--D-RL-ISTKA
+-IESIRS--A--E-K--------K-GLT-VSL----LS------GN-V----I-PVV---YA-L-----
+-KIF---------------L-----GINGPVF------------------------------'
};
A user level that continues to overstate my experience :-))
|