#!/usr/bin/perl -w use strict; my $pat_qfn = shift(@ARGV); my $pat; { open(my $pat_fh, '<', $pat_qfn) or die("Can't open pattern file $pat_qfn: $!\n"); chomp( my @pats = <$pat_fh> ); ($pat) = map qr/$_/, join '|', @pats; } while (<>) { print if /$pat/; }