in reply to Re: variable as hash name
in thread variable as hash name
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.
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^3: variable as hash name
by GrandFather (Saint) on Dec 08, 2012 at 06:09 UTC | |
Re^3: variable as hash name
by davido (Cardinal) on Dec 08, 2012 at 07:33 UTC | |
Re^3: variable as hash name
by eyepopslikeamosquito (Archbishop) on Dec 08, 2012 at 06:06 UTC | |
by blackzero (Acolyte) on Dec 08, 2012 at 09:37 UTC | |
by Tux (Canon) on Dec 08, 2012 at 09:58 UTC | |
by Anonymous Monk on Dec 08, 2012 at 09:53 UTC |