#!/usr/bin/env perl

die "perl $0 blast1 blast2 >besthit.blast \n" unless @ARGV==2;
my $in1 = shift;
my $in2 = shift;

my %h1 = readIN($in1);
my %h2 = readIN($in2);

foreach my $id (sort keys %h1){
        my $id2 = $h1{$id}[0];
        if(exists $h2{$id2} && $h2{$id2}[0] eq $id){
                print "$h1{$id}[1]\n";
        }
}

sub readIN{

        my $in = shift;
        my %hash;
        open IN, $in ||die $!;
        while(<IN>){
                chomp;
                my @t = split;
                if(!exists $hash{$t[0]}){
                        $hash{$t[0]}[0]=$t[1];
                        $hash{$t[0]}[1]=$_;
                }
        }
        close IN;
        return %hash;
}