You see, is not that I'm not open to alternatives. Is just that I read a lot of foruns adressing this problem (of use variavles as variables name) and as much as I tried, I was unable to use hash of hashes to solve my needs.
So I wanted to use the dirt way because I needed to solve it fast. But YES, I would like to improve my code to not have to disable strict. And I am thankfull for your help.
So here is the code I'm using now. Any improvement is welcome.
#!/usr/bin/perl
#use strict;
use warnings;
my $input_data = << 'REPORT_OF_INPUT';
Bet01;;Bet05;;Bet06;;Bet12;;
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;;
REPORT_OF_INPUT
my @inputs = split "\n", $input_data;
my $line = shift @inputs;
$line =~ s/;;/;/g;
my @loci_codes = split ";", $line;
foreach $line ( @inputs )
{
my @alelos = split ";", $line;
foreach my $locus ( @loci_codes )
{
no strict 'refs';
my $allele1 = shift @alelos;
my $allele2 = shift @alelos;
${$locus}{$allele1} += 1;
${$locus}{$allele2} += 1;
}
}
foreach $locus ( @loci_codes )
{
foreach my $key ( keys ( %{$locus} ) )
{
print "$locus ", $key, " = ", $$locus{$key}, "\n";
}
}
I'm using the data inside the code here just to make it easier for decode. But in my real program the content of $input_data will come from an external file. So its content may vary.
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.
|
|