Unless I am misunderstanding the problem, I don't think you need the inner loop at all. You only need to iterate over the list of keys once.
If that doesn't produce the desired result, please clarify the problem.
Update: Here is a modified version of your code (which may be more clear than my reply above).
use strict; use warnings; my %hash_1 = ( 0.2 => '12', 0.4 => '13', 0.6 => '14', ); my %hash_2 = ( 0.2 => '19', 0.4 => '18', 0.6 => '20', ); foreach my $key ( sort { $a <=> $b } keys %hash_1 ) { my $diff_obs_perm = $hash_1{$key}-$hash_2{$key}; my $FDR = $hash_2{$key} / $hash_1{$key}; my $currentdeltaprint = join ("\t", $key, $hash_1{$key}, $hash_2{$key}, $diff_obs_perm, $FDR ); print "$currentdeltaprint\n"; }
In reply to Re: Print Keys - values of two hashes in a tabulated fromat
by bobf
in thread Print Keys - values of two hashes in a tabulated fromat
by sesemin
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |