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.
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.