use strict; use warnings; my %hash=(); open(RF,"XX-1.txt") or die $!; while(my $line=){ chomp($line); $hash{$line}=1; } close(RF); open(RF,"XX-2.txt") or die $!; open(WF,">XX-result.txt") or die $!; while(my $line=){ if($.==1){ print WF $line; next; } my @arr=split(/\t/,$line); my @zeroArr=split(/\|/,$arr[1]); if(exists $hash{$zeroArr[0]}){ print WF $line; } } close(WF); close(RF);