回文筛选

^\(.*\)\t\(.*\)\t\S\+\t\S\+\(\n.*\)\+\n\2\t\1
#!/usr/bin/perl
use warnings;
use strict;

open IN,"<",$ARGV[0];
my $header=<IN>;
my %name_hash;
while(<IN>){
    chomp;
    my @line_list=split/\t/;
    $name_hash{"$line_list[0]$line_list[1]"}++;
}
close IN;

open INPUT,"<",$ARGV[0];
my $header2=<INPUT>;
print $header2;
while(<INPUT>){
    chomp;
    my @line_list=split/\t/;
    if(!($name_hash{"$line_list[0]$line_list[1]"} && $name_hash{"$line_list[1]$line_list[0]"})){
        print "$line_list[0]$line_list[1]\t$line_list[1]$line_list[0]\n";
    }else{delete $name_hash{"$line_list[1]$line_list[0]"}}
}

猜你喜欢

转载自www.cnblogs.com/xlij1205/p/10589709.html