open FILE1, 'file1' or die $!; my @keys = ; chomp @keys; my %keys = map { $_ => 1 } @keys; close FILE1; open FILE2, 'file2' or die $!; open FILE3, '>file3' or die $!; # output file print FILE3 grep { exists $keys{(split)[1]} } ; close FILE2; close FILE3;