#!/usr/bin/perl use strict; use warnings; my ($f1,$f2,@patterns,%patts,$f2_rec,$f2_field); $f1 = $ARGV[0]; $f2 = $ARGV[1]; open(PATT,"<", $f1) or die; @patterns = ; chomp(@patterns); close(PATT) or die; @patts{@patterns} = (1) x @patterns; open(FILE,"<", $f2) or die; while (defined ($f2_rec = )) { chomp $f2_rec; $f2_field = (split(/ /,$f2_rec))[0]; if(exists($patts{$f2_field})) { print "$f2_rec\n"; } } close(FILE) or die;