foreach my $hit (grep /^$name\w+/, @file2) { my($name_2,$n1_2,$n2_2)=split(' ',$hit); # same as you did before. print "Found $hit\n" if $n1 == $n1_2; }