From: Robin Houston Date: Thu, 6 Dec 2001 14:44:01 +0000 (+0000) Subject: Re: weirdness in regexps X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=5cc9e5c9d4584574ed7c24896215a21bdd0fd4b2;p=p5sagit%2Fp5-mst-13.2.git Re: weirdness in regexps Message-ID: <20011206144401.A27752@puffinry.freeserve.co.uk> p4raw-id: //depot/perl@13490 --- diff --git a/op.c b/op.c index 85ff67b..d633b47 100644 --- a/op.c +++ b/op.c @@ -2053,6 +2053,13 @@ Perl_bind_match(pTHX_ I32 type, OP *left, OP *right) desc, sample, sample); } + if (right->op_type == OP_CONST && + cSVOPx(right)->op_private & OPpCONST_BARE && + cSVOPx(right)->op_private & OPpCONST_STRICT) + { + no_bareword_allowed(right); + } + if (!(right->op_flags & OPf_STACKED) && (right->op_type == OP_MATCH || right->op_type == OP_SUBST || diff --git a/t/lib/strict/subs b/t/lib/strict/subs index ed4fe7a..1e8b058 100644 --- a/t/lib/strict/subs +++ b/t/lib/strict/subs @@ -317,3 +317,11 @@ Foo A 1 Foo B 2 Foo C 3 Foo D 4 +######## + +# Check that barewords on the RHS of a regex match are caught +use strict; +"" =~ foo; +EXPECT +Bareword "foo" not allowed while "strict subs" in use at - line 4. +Execution of - aborted due to compilation errors.