my $mon_idx = 0; for my $fname ( qw(jan.dat feb.dat mar.dat apr.dat may.dat) ) { open my $fh, "<", $fname or die "Couldn't open '$fname': $!"; while (<$fh>) { my ($acc, $freq, $perc) = split /\t/; $mutperc{$acc}[$mon_idx] = $perc; } $mon_idx++; } for my $acc (sort keys %mutperc) { print $acc; for my $mon_idx (0..4) { my $perc = $mutperc{$acc}[$mon_idx]; $perc = 0 unless defined $perc; print "\t$perc"; } print "\n"; }