Thank you, Dave.
Now, the point is that I'm reading an external file in the following format:
230;238;101;103;138;146;112;116;;
230;238;101;103;146;146;108;112;;
224;238;0;0;146;146;110;118;;
238;238;0;0;146;146;112;114;;
I have an array named @loci_codes with this content:
@loci_codes = qw( Bet01 Bet05 Bet06 Bet12 );
What I want is to read each line ( <> ), split and put the elements in an array
while ( defined( $line = <> ) )
my @alelos = split ";", $line;
Than I want to take the elements of @alelos two by two and put each pair in a different hash. The PROBLEM is that I want each of these hashes to be named after on of the elements of @loci_codes.
while ( @loci_codes )
{
$variable = shift @loci_codes;
%$variable;
$allele1 = shift @alelos;
$allele2 = shift @alelos;
%$variable{$allele1) += 1;
%$variable{$allele2} += 1;
}
And doing that for each line of the input, I want to have a hash named after a element of @loci_codes and populated with these pairs.
EXAMPLE:
%Bet01 = ( 230 => 2, 238 => 5, 224 => 1,);
%Bet05 = ( 101 => 2, 103 => 2, 0 => 4, );
...
NOTE: The content of @loci_codes may change according to the input file readed. THATS why I cant use static names for the hashes.
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
Outside of code tags, you may need to use entities for some characters:
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.