use Getopt::Long; GetOptions( 'file=s' => \my $patfile ); chomp( my @del = do { local @ARGV = ($patfile); <> } ); my %del; @del{ @del } = (); $, = $\ = $/; print grep { chomp; not exists $del{$_} } <>;