If you'd fix some of the messages that strict and warnings give you, it might simplify things. But as far as your question: Yes you can scan through the keys and print them like this:
for my $penta (keys %totalProbability) { print "$totalProbability{$penta}, $totalCounts{$penta}, ...\n"; }
However, the reason I replied is to mention this: You'd do yourself a favor if you build the statistics data you need as you read it. Something like:
my %stats; while (<FREQ>) { chomp; my ($pent, $pentExpected, $pentObserved, $pentTotal) = split("\t", +$_); next if !defined $pentTotal; # skip malformed lines and end line my $h = { pent=>$pent, count=>$pentObserved, prob=>$pentExpected, pentTotal=>$pentTotal }; push @data,$h; if (exists $stats{$pent}) { $stats{$pent} = { probTotal => $$h{prob}, countTotal => $$h{count}, pentTotal => $$h{pentTotal}, }; } else { $stats{$pent}{probTotal} += $$h{prob}; $stats{$pent}{countTotal} += $$h{count}; $stats{$pent}{pentTotal} += $$h{pentTotal}; } }
When your only tool is a hammer, all problems look like your thumb.
In reply to Re: Printing out multiple hashes at one time
by roboticus
in thread Printing out multiple hashes at one time
by cvillain
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |