#!/usr/bin/perl
use strict;
use warnings;

my $xml = shift;
open XML, $xml or die "Can't open XML: $xml $!\n";
while (my $line = <XML>){
  chomp $line;
  if ($line =~ /<Hit_id>/){
    ## SP ##
    #<Hit_id>gnl|BL_ORD_ID|468794</Hit_id>
    #<Hit_def>sp|Q96MW7|TIGD1_HUMAN Tigger transposable element-derived protein 1 OS=Homo sapiens GN=TIGD1 PE=1 SV=1</Hit_def>
    #<Hit_accession>468794</Hit_accession>
    ## TR ## 
    #<Hit_id>gnl|BL_ORD_ID|15660675</Hit_id>
    #<Hit_def>tr|G9L5D9|G9L5D9_MUSPF Tigger transposable element derived 1 (Fragment) OS=Mustela putorius furo PE=2 SV=1</Hit_def>
    #<Hit_accession>15660675</Hit_accession>
    my $hit_id_line = $line;
    my $hit_def_line = <XML>;
    my $hit_accession_line = <XML>;
    chomp $hit_def_line;
    my ($id,$def) = $hit_def_line =~ /<Hit_def>(\S+)\s+(.+)<\/Hit_def>/;
    my ($acc) = $id =~ /\w\w\|(\S+)\|\S+/;
    $hit_id_line =~ s/\w+\|\w+\|\d+/$id/;
    $hit_def_line =~ s/\w\w\|\S+\|\S+\s+//;
    $hit_accession_line =~ s/\d+/$acc/;
    print "$hit_id_line\n";
    print "$hit_def_line\n";
    print "$hit_accession_line\n";
  
  }else{
    print $line , "\n";
  }

}
