From 8c8ad484ae56ad5a81dc3b76a40859fc90c16a10 Mon Sep 17 00:00:00 2001 From: Gurusamy Sarathy Date: Fri, 3 Mar 2000 03:27:52 +0000 Subject: [PATCH] warn about /(?p{})/ (from Simon Cozens) p4raw-id: //depot/perl@5475 --- regcomp.c | 3 +++ toke.c | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/regcomp.c b/regcomp.c index f4fcaa9..a1272eb 100644 --- a/regcomp.c +++ b/regcomp.c @@ -1734,6 +1734,9 @@ S_reg(pTHX_ I32 paren, I32 *flagp) nextchar(); *flagp = TRYAGAIN; return NULL; + case 'p': + Perl_warner(aTHX_ WARN_REGEXP, "(?p{}) is deprecated - use (??{})"); + /* FALL THROUGH*/ case '?': logical = 1; paren = *PL_regcomp_parse++; diff --git a/toke.c b/toke.c index 3af0896..79ee972 100644 --- a/toke.c +++ b/toke.c @@ -1269,8 +1269,8 @@ S_scan_const(pTHX_ char *start) if (s[2] == '#') { while (s < send && *s != ')') *d++ = *s++; - } else if (s[2] == '{' - || s[2] == '?' && s[3] == '{') { /* This should march regcomp.c */ + } else if (s[2] == '{' /* This should match regcomp.c */ + || (s[2] == 'p' || s[2] == '?') && s[3] == '{') { I32 count = 1; char *regparse = s + (s[2] == '{' ? 3 : 4); char c; -- 2.7.4