# get doubles my %seen; foreach my$key (@found) { my @ele = split("\t", $key); $seen{$ele[-1]} = [] unless $seen{$ele[-1]}; push(@{$seen{$ele[-1]}}, [$i, $ele[0]]); } # delete doubles my $i = 0; foreach my$key (keys %seen) { if (@{$seen{$key}} > 1) { # sort my $top = $seen{$key}->[0]; foreach my$act (@{$seen{$key}}) { if ($act->[1] > $top->[1]) { $top = $act } } # splice foreach my$act (@{$seen{$key}}) { if ($act->[0] != $top->[0]) { splice(@found, $act->[0]-$i, 1); ++$i } } } }