my $j = 0; # file/column number foreach $file (@files){ open(INP,"$file") or die "Cannot open file :$!\n"; while (){ chomp; my($key,$value) = split "\t"; if(exists $trans{$key}){ $trans{$key}[$j] = $value; } } close(INP); $j++; }