o->op_private |= OPpLOCALE;
#endif
- if (o->op_type == OP_SORT) {
- GvMULTI_on(gv_fetchpv("a", TRUE, SVt_PV));
- GvMULTI_on(gv_fetchpv("b", TRUE, SVt_PV));
- }
-
- if (o->op_flags & OPf_STACKED)
+ if (o->op_type == OP_SORT && o->op_flags & OPf_STACKED)
simplify_sort(o);
if (o->op_flags & OPf_STACKED) { /* may have been cleared */
OP *kid = cLISTOPo->op_first->op_sibling; /* get past pushmark */
int reversed;
if (!(o->op_flags & OPf_STACKED))
return;
+ GvMULTI_on(gv_fetchpv("a", TRUE, SVt_PV));
+ GvMULTI_on(gv_fetchpv("b", TRUE, SVt_PV));
kid = kUNOP->op_first; /* get past rv2gv */
if (kid->op_type != OP_SCOPE)
return;