$file1 = $ARGV[0]; %hashfreq = (); $freq = 0; $geneold = "NA"; open(INPUTR,"<$file1") || die "Can't open \$file1 for reading.\n"; while($line=){ chomp $line; @toks = split(/\t/, $line); $gene = $toks[1]; if ($gene =~ /^$geneold$/){ if ($toks[0] >= $numold){ $freq = $toks[0]; print $toks[0]."\t".$numold."\t".$freq."\t".$gene."\n"; } else { $freq = $numold; } $hashfreq{$toks[0]} = $freq; } else { $hashfreq{$toks[1]} = $toks[0]; } $numold = $toks[0]; $geneold = $toks[1]; } close(INPUTR); open(OUTD1,">output.txt"); open(INPUTR,"<$file1") || die "Can't open \$file1 for reading.\n"; while($line=){ chomp $line; @toks = split(/\t/, $line); $idgene = $toks[1]; if (exists $hashfreq{$idgene}){ print OUTD1 $line."\t".$hashfreq{$idgene}."\n"; print $line."\t".$hashfreq{$idgene}."\n"; } }