[patch perlguts.pod] save_item doesn't handle magic
[p5sagit/p5-mst-13.2.git] / pp_hot.c
index e884e2d..ccfbf41 100644 (file)
--- a/pp_hot.c
+++ b/pp_hot.c
@@ -2294,8 +2294,15 @@ PP(pp_grepwhile)
        (void)POPMARK;                          /* pop dst */
        SP = PL_stack_base + POPMARK;           /* pop original mark */
        if (gimme == G_SCALAR) {
-           dTARGET;
-           XPUSHi(items);
+           if (PL_op->op_private & OPpGREP_LEX) {
+               SV* sv = sv_newmortal();
+               sv_setiv(sv, items);
+               PUSHs(sv);
+           }
+           else {
+               dTARGET;
+               XPUSHi(items);
+           }
        }
        else if (gimme == G_ARRAY)
            SP += items;