summaryrefslogtreecommitdiff
path: root/op.c
diff options
context:
space:
mode:
authorGerard Goossen <gerard@tty.nl>2007-05-08 17:15:09 +0200
committerDave Mitchell <davem@fdisolutions.com>2007-05-12 22:42:09 +0000
commite9cc17ba00cc39cdcabc27d876cb322b6bbd3a59 (patch)
tree05824ef224119c8d36635c68d8a2c4b7ab18d73e /op.c
parentb6214b8055070156c0c94b1aa6eb1e157422064b (diff)
downloadperl-e9cc17ba00cc39cdcabc27d876cb322b6bbd3a59.tar.gz
Disable slurping assigned of split when PL_madskills
Message-Id: <20070508164400.GA15860@ostwald> p4raw-id: //depot/perl@31206
Diffstat (limited to 'op.c')
-rw-r--r--op.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/op.c b/op.c
index 60537ad5f0..ba5e200a6a 100644
--- a/op.c
+++ b/op.c
@@ -4073,7 +4073,7 @@ Perl_newASSIGNOP(pTHX_ I32 flags, OP *left, I32 optype, OP *right)
o->op_private |= OPpASSIGN_COMMON;
}
- if (right && right->op_type == OP_SPLIT) {
+ if (right && right->op_type == OP_SPLIT && !PL_madskills) {
OP* tmpop = ((LISTOP*)right)->op_first;
if (tmpop && (tmpop->op_type == OP_PUSHRE)) {
PMOP * const pm = (PMOP*)tmpop;
@@ -4103,11 +4103,7 @@ Perl_newASSIGNOP(pTHX_ I32 flags, OP *left, I32 optype, OP *right)
tmpop = ((UNOP*)tmpop)->op_first; /* to pushmark */
tmpop->op_sibling = NULL; /* don't free split */
right->op_next = tmpop->op_next; /* fix starting loc */
-#ifdef PERL_MAD
- op_getmad(o,right,'R'); /* blow off assign */
-#else
op_free(o); /* blow off assign */
-#endif
right->op_flags &= ~OPf_WANT;
/* "I don't know and I don't care." */
return right;