#!/usr/bin/env perl use strict; use warnings; open FILE1, "< file1" or die; my $keyRef; while () { chomp; $keyRef->{$_} = 1; } close FILE1; open FILE3, "< file3" or die; while () { chomp; my ($testKey, $name) = split("\t", $_); if (defined $keyRef->{$testKey}) { print STDOUT "$_\n"; } } close FILE3;