my @strings = ( 'nnxx.yy2 = 234 abc', 'foo bar = 39 baz *', .... ); my $pattern = join '|', map { my $s = quotemeta; $s =~ s/(=\s*)\d+/$1\\d+/g; $s } @strings; my $qr = qr/^($pattern)$/; while (<>) { print if /$qr/; }