#!/usr/bin/perl -w #declare all filenames $filename1 = 'one.txt'; $filename2 = 'two.txt'; $filename3 = 'three.txt'; #open text file 1 open (FILE1, $filename1) or die "Unable to open $filename1 because $!\n"; while ($line = ) { chomp ($line); ($chrX, $chrpos, $value1, $value2) = split (/\t/, $line); $key1 = join ("_", $chrX, $chrpos); $hash{$key1}++; }; close FILE1; open (FILE2, $filename2) or die "Unable to open $filename2 because $!\n"; while ($line = ) { chomp ($line); ($chrX, $chrpos, $value11, $value22) = split (/\t/, $line); $key2 = join ("_", $chrX, $chrpos); if (exists $hash{$key2} > 0) { $hash{key2} = $value11 + $value1; $hash{key2} = $value22 + $value2; $hash{key2}++ } }; close FILE2; open (FILE3, $filename3) or die "Unable to open $filename3 because $!\n"; while ($line = ) { chomp ($line); ($chrX, $chrpos, $value111, $value222) = split (/\t/, $line); $key3 = join ("_", $chrX, $chrpos); if (exists $hash{$key3} > 0) { $hash{key3} = $value111 + $value11; $hash{key3} = $value222 + $value22; $hash{key3}++ } }; print "$hash{key3} $value111 $value222"; close FILE2;