summaryrefslogtreecommitdiff
path: root/pp_ctl.c
diff options
context:
space:
mode:
Diffstat (limited to 'pp_ctl.c')
-rw-r--r--pp_ctl.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/pp_ctl.c b/pp_ctl.c
index fa2c87ceae..fd98698121 100644
--- a/pp_ctl.c
+++ b/pp_ctl.c
@@ -1056,6 +1056,7 @@ PP(pp_flip)
an exception for .."0" [#18165]). AMS 20021031. */
#define RANGE_IS_NUMERIC(left,right) ( \
+ (!SvOK(left) && !SvOK(right)) || \
SvNIOKp(left) || (SvOK(left) && !SvPOKp(left)) || \
SvNIOKp(right) || (SvOK(right) && !SvPOKp(right)) || \
(looks_like_number(left) && SvPOKp(left) && *SvPVX(left) != '0' && \
@@ -1797,8 +1798,11 @@ PP(pp_enteriter)
cx->blk_loop.iterix = SvIV(sv);
cx->blk_loop.itermax = SvIV((SV*)cx->blk_loop.iterary);
}
- else
+ else {
+ STRLEN n_a;
cx->blk_loop.iterlval = newSVsv(sv);
+ SvPV_force(cx->blk_loop.iterlval,n_a);
+ }
}
}
else {