$current_line[1] eq $key && $current_line[5] == 1 && $current_line [2] = $position1) { #### my $from = 0; my $to =0; my @range =(); while(){ chomp; my @current_line = split /\t/; if (exists $file1{$current_line[1]} ) { my $key = $current_line[1]; foreach my $position1 (@{$file1{$key}}){ if ($current_line[14] >= 3){ $from = $current_line[2]-8; $to = $current_line[2]+8; for ($from .. $to){ push (@range, $_); } } foreach my $pos (@range){ if ($pos = $position1) { if ( $current_line[1] eq $key && $current_line[5] == 1 ) { print join ("\t", $current_line[1],$current_line[2],$current_line[5],$current_line[14], "***",$key, $position1), "\n"; $true_positives++; push (@{$file2{$current_line[1]}}, $current_line[5]); } } } } }