for (kid = cLISTOP->op_first; kid; kid = kid->op_sibling)
scalarvoid(kid);
break;
+ case OP_ENTEREVAL:
+ scalarkids(op);
+ break;
case OP_REQUIRE:
- /* since all requires must return a value, they're never void */
+ /* all requires must return a boolean value */
op->op_flags &= ~OPf_WANT;
return scalar(op);
case OP_SPLIT:
}
curcop = &compiling;
break;
+ case OP_REQUIRE:
+ /* all requires must return a boolean value */
+ op->op_flags &= ~OPf_WANT;
+ return scalar(op);
}
return op;
}
switch (op->op_type) {
case OP_UNDEF:
+ modcount++;
return op;
case OP_CONST:
if (!(op->op_private & (OPpCONST_ARYBASE)))
if (op->op_type == OP_TRANS)
return pmtrans(op, expr, repl);
+ hints |= HINT_BLOCK_SCOPE;
pm = (PMOP*)op;
if (expr->op_type == OP_CONST) {
CvROOT(cv) = Nullop;
LEAVE;
}
+ SvPOK_off((SV*)cv); /* forget prototype */
CvFLAGS(cv) = 0;
SvREFCNT_dec(CvGV(cv));
CvGV(cv) = Nullgv;
SAVEFREESV(compcv);
goto done;
}
+ /* ahem, death to those who redefine active sort subs */
+ if (curstack == sortstack && sortcop == CvSTART(cv))
+ croak("Can't redefine active sort subroutine %s", name);
const_sv = cv_const_sv(cv);
if (const_sv || dowarn) {
line_t oldline = curcop->cop_line;
ck_match(op)
OP *op;
{
- cPMOP->op_pmflags |= PMf_RUNTIME;
- cPMOP->op_pmpermflags |= PMf_RUNTIME;
+ op->op_private |= OPpRUNTIME;
return op;
}