X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=op.c;h=e7f10421cb57675a5436ba948ba5dd09e1286c88;hb=2d5a560e6257e98fbb384456cc2d9b09a6b228b7;hp=98d42daf0e408a253a0a93fd8539e22e7b1b9f7b;hpb=d3cea301eb4cb4c87b2540dea791ab175d5a0a51;p=p5sagit%2Fp5-mst-13.2.git diff --git a/op.c b/op.c index 98d42da..e7f1042 100644 --- a/op.c +++ b/op.c @@ -4899,6 +4899,8 @@ Perl_newATTRSUB(pTHX_ I32 floor, OP *o, OP *proto, OP *attrs, OP *block) */ if (cv && !block) { rcv = (SV*)cv; + /* Might have had built-in attributes applied -- propagate them. */ + CvFLAGS(cv) |= (CvFLAGS(PL_compcv) & CVf_BUILTIN_ATTRS); if (CvGV(cv) && GvSTASH(CvGV(cv))) stash = GvSTASH(CvGV(cv)); else if (CvSTASH(cv)) @@ -6656,6 +6658,10 @@ Perl_ck_split(pTHX_ OP *o) kid->op_type = OP_PUSHRE; kid->op_ppaddr = PL_ppaddr[OP_PUSHRE]; scalar(kid); + if (ckWARN(WARN_REGEXP) && ((PMOP *)kid)->op_pmflags & PMf_GLOBAL) { + Perl_warner(aTHX_ packWARN(WARN_REGEXP), + "Use of /g modifier is meaningless in split"); + } if (!kid->op_sibling) append_elem(OP_SPLIT, o, newDEFSVOP());