@terms = qw/.A. .C./; my $clause= join "|", map quotemeta ,@terms; while (my $line = ){ print $1 while $line =~m/UP($clause)LB/g; } __DATA__ UP.A.LB UP.B.LB UP.C.LB