if (o->op_flags & OPf_PARENS)
list(o);
else {
- scalar(o);
if (dowarn && bufptr > oldbufptr && bufptr[-1] == ',') {
char *s;
for (s = bufptr; *s && (isALNUM(*s) || strchr("@$%, ",*s)); s++) ;
dTHR;
OP *o;
if (type != OP_GOTO || label->op_type == OP_CONST) {
- o = newPVOP(type, 0, savepv(
- label->op_type == OP_CONST
- ? SvPVx(((SVOP*)label)->op_sv, na)
- : "" ));
+ /* "last()" means "last" */
+ if (label->op_type == OP_STUB && (label->op_flags & OPf_PARENS))
+ o = newOP(type, OPf_SPECIAL);
+ else {
+ o = newPVOP(type, 0, savepv(label->op_type == OP_CONST
+ ? SvPVx(((SVOP*)label)->op_sv, na)
+ : ""));
+ }
op_free(label);
}
else {
int yychar;
YYSTYPE yyval;
YYSTYPE yylval;
-#line 632 "perly.y"
+#line 633 "perly.y"
/* PROGRAM */
#line 1360 "perly.c"
#define YYABORT goto yyabort
break;
case 114:
#line 442 "perly.y"
-{ yyval.opval = newBINOP(OP_GELEM, 0, newGVREF(0,yyvsp[-4].opval), yyvsp[-2].opval); }
+{ yyval.opval = newBINOP(OP_GELEM, 0, newGVREF(0,yyvsp[-4].opval),
+ scalar(yyvsp[-2].opval)); }
break;
case 115:
-#line 444 "perly.y"
+#line 445 "perly.y"
{ yyval.opval = yyvsp[0].opval; }
break;
case 116:
-#line 446 "perly.y"
+#line 447 "perly.y"
{ yyval.opval = newBINOP(OP_AELEM, 0, oopsAV(yyvsp[-3].opval), scalar(yyvsp[-1].opval)); }
break;
case 117:
-#line 448 "perly.y"
+#line 449 "perly.y"
{ yyval.opval = newBINOP(OP_AELEM, 0,
ref(newAVREF(yyvsp[-4].opval),OP_RV2AV),
scalar(yyvsp[-1].opval));}
break;
case 118:
-#line 452 "perly.y"
+#line 453 "perly.y"
{ assertref(yyvsp[-3].opval); yyval.opval = newBINOP(OP_AELEM, 0,
ref(newAVREF(yyvsp[-3].opval),OP_RV2AV),
scalar(yyvsp[-1].opval));}
break;
case 119:
-#line 456 "perly.y"
+#line 457 "perly.y"
{ yyval.opval = yyvsp[0].opval; }
break;
case 120:
-#line 458 "perly.y"
+#line 459 "perly.y"
{ yyval.opval = yyvsp[0].opval; }
break;
case 121:
-#line 460 "perly.y"
+#line 461 "perly.y"
{ yyval.opval = newUNOP(OP_AV2ARYLEN, 0, ref(yyvsp[0].opval, OP_AV2ARYLEN));}
break;
case 122:
-#line 462 "perly.y"
+#line 463 "perly.y"
{ yyval.opval = newBINOP(OP_HELEM, 0, oopsHV(yyvsp[-4].opval), jmaybe(yyvsp[-2].opval));
expect = XOPERATOR; }
break;
case 123:
-#line 465 "perly.y"
+#line 466 "perly.y"
{ yyval.opval = newBINOP(OP_HELEM, 0,
ref(newHVREF(yyvsp[-5].opval),OP_RV2HV),
jmaybe(yyvsp[-2].opval));
expect = XOPERATOR; }
break;
case 124:
-#line 470 "perly.y"
+#line 471 "perly.y"
{ assertref(yyvsp[-4].opval); yyval.opval = newBINOP(OP_HELEM, 0,
ref(newHVREF(yyvsp[-4].opval),OP_RV2HV),
jmaybe(yyvsp[-2].opval));
expect = XOPERATOR; }
break;
case 125:
-#line 475 "perly.y"
+#line 476 "perly.y"
{ yyval.opval = newSLICEOP(0, yyvsp[-1].opval, yyvsp[-4].opval); }
break;
case 126:
-#line 477 "perly.y"
+#line 478 "perly.y"
{ yyval.opval = newSLICEOP(0, yyvsp[-1].opval, Nullop); }
break;
case 127:
-#line 479 "perly.y"
+#line 480 "perly.y"
{ yyval.opval = prepend_elem(OP_ASLICE,
newOP(OP_PUSHMARK, 0),
newLISTOP(OP_ASLICE, 0,
ref(yyvsp[-3].opval, OP_ASLICE))); }
break;
case 128:
-#line 485 "perly.y"
+#line 486 "perly.y"
{ yyval.opval = prepend_elem(OP_HSLICE,
newOP(OP_PUSHMARK, 0),
newLISTOP(OP_HSLICE, 0,
expect = XOPERATOR; }
break;
case 129:
-#line 492 "perly.y"
+#line 493 "perly.y"
{ yyval.opval = yyvsp[0].opval; }
break;
case 130:
-#line 494 "perly.y"
+#line 495 "perly.y"
{ yyval.opval = newUNOP(OP_ENTERSUB, 0, scalar(yyvsp[0].opval)); }
break;
case 131:
-#line 496 "perly.y"
+#line 497 "perly.y"
{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar(yyvsp[-2].opval)); }
break;
case 132:
-#line 498 "perly.y"
+#line 499 "perly.y"
{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
append_elem(OP_LIST, yyvsp[-1].opval, scalar(yyvsp[-3].opval))); }
break;
case 133:
-#line 501 "perly.y"
+#line 502 "perly.y"
{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
break;
case 134:
-#line 504 "perly.y"
+#line 505 "perly.y"
{ yyval.opval = newUNOP(OP_DOFILE, 0, scalar(yyvsp[0].opval)); }
break;
case 135:
-#line 506 "perly.y"
+#line 507 "perly.y"
{ yyval.opval = newUNOP(OP_NULL, OPf_SPECIAL, scope(yyvsp[0].opval)); }
break;
case 136:
-#line 508 "perly.y"
+#line 509 "perly.y"
{ yyval.opval = newUNOP(OP_ENTERSUB,
OPf_SPECIAL|OPf_STACKED,
prepend_elem(OP_LIST,
)),Nullop)); dep();}
break;
case 137:
-#line 516 "perly.y"
+#line 517 "perly.y"
{ yyval.opval = newUNOP(OP_ENTERSUB,
OPf_SPECIAL|OPf_STACKED,
append_elem(OP_LIST,
)))); dep();}
break;
case 138:
-#line 525 "perly.y"
+#line 526 "perly.y"
{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
prepend_elem(OP_LIST,
scalar(newCVREF(0,scalar(yyvsp[-2].opval))), Nullop)); dep();}
break;
case 139:
-#line 529 "perly.y"
+#line 530 "perly.y"
{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
prepend_elem(OP_LIST,
yyvsp[-1].opval,
scalar(newCVREF(0,scalar(yyvsp[-3].opval))))); dep();}
break;
case 140:
-#line 534 "perly.y"
+#line 535 "perly.y"
{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
newCVREF(0, scalar(yyvsp[-3].opval))); }
break;
case 141:
-#line 537 "perly.y"
+#line 538 "perly.y"
{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
append_elem(OP_LIST, yyvsp[-1].opval,
newCVREF(0, scalar(yyvsp[-4].opval)))); }
break;
case 142:
-#line 541 "perly.y"
+#line 542 "perly.y"
{ yyval.opval = newOP(yyvsp[0].ival, OPf_SPECIAL);
hints |= HINT_BLOCK_SCOPE; }
break;
case 143:
-#line 544 "perly.y"
+#line 545 "perly.y"
{ yyval.opval = newLOOPEX(yyvsp[-1].ival,yyvsp[0].opval); }
break;
case 144:
-#line 546 "perly.y"
+#line 547 "perly.y"
{ yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
break;
case 145:
-#line 548 "perly.y"
+#line 549 "perly.y"
{ yyval.opval = newOP(yyvsp[0].ival, 0); }
break;
case 146:
-#line 550 "perly.y"
+#line 551 "perly.y"
{ yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
break;
case 147:
-#line 552 "perly.y"
+#line 553 "perly.y"
{ yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
break;
case 148:
-#line 554 "perly.y"
+#line 555 "perly.y"
{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
break;
case 149:
-#line 557 "perly.y"
+#line 558 "perly.y"
{ yyval.opval = newOP(yyvsp[0].ival, 0); }
break;
case 150:
-#line 559 "perly.y"
+#line 560 "perly.y"
{ yyval.opval = newOP(yyvsp[-2].ival, 0); }
break;
case 151:
-#line 561 "perly.y"
+#line 562 "perly.y"
{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
scalar(yyvsp[0].opval)); }
break;
case 152:
-#line 564 "perly.y"
+#line 565 "perly.y"
{ yyval.opval = newOP(yyvsp[-2].ival, OPf_SPECIAL); }
break;
case 153:
-#line 566 "perly.y"
+#line 567 "perly.y"
{ yyval.opval = newUNOP(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
break;
case 154:
-#line 568 "perly.y"
+#line 569 "perly.y"
{ yyval.opval = pmruntime(yyvsp[-3].opval, yyvsp[-1].opval, Nullop); }
break;
case 155:
-#line 570 "perly.y"
+#line 571 "perly.y"
{ yyval.opval = pmruntime(yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval); }
break;
case 158:
-#line 576 "perly.y"
+#line 577 "perly.y"
{ yyval.opval = Nullop; }
break;
case 159:
-#line 578 "perly.y"
+#line 579 "perly.y"
{ yyval.opval = yyvsp[0].opval; }
break;
case 160:
-#line 582 "perly.y"
+#line 583 "perly.y"
{ yyval.opval = Nullop; }
break;
case 161:
-#line 584 "perly.y"
+#line 585 "perly.y"
{ yyval.opval = yyvsp[0].opval; }
break;
case 162:
-#line 586 "perly.y"
+#line 587 "perly.y"
{ yyval.opval = yyvsp[-1].opval; }
break;
case 163:
-#line 589 "perly.y"
+#line 590 "perly.y"
{ yyval.ival = 0; }
break;
case 164:
-#line 590 "perly.y"
+#line 591 "perly.y"
{ yyval.ival = 1; }
break;
case 165:
-#line 594 "perly.y"
+#line 595 "perly.y"
{ in_my = 0; yyval.opval = my(yyvsp[0].opval); }
break;
case 166:
-#line 598 "perly.y"
+#line 599 "perly.y"
{ yyval.opval = newCVREF(yyvsp[-1].ival,yyvsp[0].opval); }
break;
case 167:
-#line 602 "perly.y"
+#line 603 "perly.y"
{ yyval.opval = newSVREF(yyvsp[0].opval); }
break;
case 168:
-#line 606 "perly.y"
+#line 607 "perly.y"
{ yyval.opval = newAVREF(yyvsp[0].opval); }
break;
case 169:
-#line 610 "perly.y"
+#line 611 "perly.y"
{ yyval.opval = newHVREF(yyvsp[0].opval); }
break;
case 170:
-#line 614 "perly.y"
+#line 615 "perly.y"
{ yyval.opval = newAVREF(yyvsp[0].opval); }
break;
case 171:
-#line 618 "perly.y"
+#line 619 "perly.y"
{ yyval.opval = newGVREF(0,yyvsp[0].opval); }
break;
case 172:
-#line 622 "perly.y"
+#line 623 "perly.y"
{ yyval.opval = scalar(yyvsp[0].opval); }
break;
case 173:
-#line 624 "perly.y"
+#line 625 "perly.y"
{ yyval.opval = scalar(yyvsp[0].opval); }
break;
case 174:
-#line 626 "perly.y"
+#line 627 "perly.y"
{ yyval.opval = scope(yyvsp[0].opval); }
break;
case 175:
-#line 629 "perly.y"
+#line 630 "perly.y"
{ yyval.opval = yyvsp[0].opval; }
break;
-#line 2272 "perly.c"
+#line 2273 "perly.c"
}
yyssp -= yym;
yystate = *yyssp;
| scalar %prec '('
{ $$ = $1; }
| star '{' expr ';' '}'
- { $$ = newBINOP(OP_GELEM, 0, newGVREF(0,$1), $3); }
+ { $$ = newBINOP(OP_GELEM, 0, newGVREF(0,$1),
+ scalar($3)); }
| star %prec '('
{ $$ = $1; }
| scalar '[' expr ']' %prec '('
case SVt_PVHV: s = "HASH"; break;
case SVt_PVCV: s = "CODE"; break;
case SVt_PVGV: s = "GLOB"; break;
- case SVt_PVFM: s = "FORMATLINE"; break;
+ case SVt_PVFM: s = "FORMLINE"; break;
case SVt_PVIO: s = "IO"; break;
default: s = "UNKNOWN"; break;
}
# $RCSfile: my.t,v $
-print "1..28\n";
+print "1..30\n";
sub foo {
my($a, $b) = @_;
print "not " if $i ne "outer";
print "ok 28\n";
+
+# Ensure that C<my @y> (without parens) doesn't force scalar context.
+my @x;
+{ @x = my @y }
+print +(@x ? "not " : ""), "ok 29\n";
+{ @x = my %y }
+print +(@x ? "not " : ""), "ok 30\n";
+
dEXT int yychar;
dEXT YYSTYPE yyval;
dEXT YYSTYPE yylval;
-#line 632 "perly.y"
+#line 633 "perly.y"
/* PROGRAM */
#line 1360 "perly.c"
#define YYABORT goto yyabort
break;
case 114:
#line 442 "perly.y"
-{ yyval.opval = newBINOP(OP_GELEM, 0, newGVREF(0,yyvsp[-4].opval), yyvsp[-2].opval); }
+{ yyval.opval = newBINOP(OP_GELEM, 0, newGVREF(0,yyvsp[-4].opval),
+ scalar(yyvsp[-2].opval)); }
break;
case 115:
-#line 444 "perly.y"
+#line 445 "perly.y"
{ yyval.opval = yyvsp[0].opval; }
break;
case 116:
-#line 446 "perly.y"
+#line 447 "perly.y"
{ yyval.opval = newBINOP(OP_AELEM, 0, oopsAV(yyvsp[-3].opval), scalar(yyvsp[-1].opval)); }
break;
case 117:
-#line 448 "perly.y"
+#line 449 "perly.y"
{ yyval.opval = newBINOP(OP_AELEM, 0,
ref(newAVREF(yyvsp[-4].opval),OP_RV2AV),
scalar(yyvsp[-1].opval));}
break;
case 118:
-#line 452 "perly.y"
+#line 453 "perly.y"
{ assertref(yyvsp[-3].opval); yyval.opval = newBINOP(OP_AELEM, 0,
ref(newAVREF(yyvsp[-3].opval),OP_RV2AV),
scalar(yyvsp[-1].opval));}
break;
case 119:
-#line 456 "perly.y"
+#line 457 "perly.y"
{ yyval.opval = yyvsp[0].opval; }
break;
case 120:
-#line 458 "perly.y"
+#line 459 "perly.y"
{ yyval.opval = yyvsp[0].opval; }
break;
case 121:
-#line 460 "perly.y"
+#line 461 "perly.y"
{ yyval.opval = newUNOP(OP_AV2ARYLEN, 0, ref(yyvsp[0].opval, OP_AV2ARYLEN));}
break;
case 122:
-#line 462 "perly.y"
+#line 463 "perly.y"
{ yyval.opval = newBINOP(OP_HELEM, 0, oopsHV(yyvsp[-4].opval), jmaybe(yyvsp[-2].opval));
expect = XOPERATOR; }
break;
case 123:
-#line 465 "perly.y"
+#line 466 "perly.y"
{ yyval.opval = newBINOP(OP_HELEM, 0,
ref(newHVREF(yyvsp[-5].opval),OP_RV2HV),
jmaybe(yyvsp[-2].opval));
expect = XOPERATOR; }
break;
case 124:
-#line 470 "perly.y"
+#line 471 "perly.y"
{ assertref(yyvsp[-4].opval); yyval.opval = newBINOP(OP_HELEM, 0,
ref(newHVREF(yyvsp[-4].opval),OP_RV2HV),
jmaybe(yyvsp[-2].opval));
expect = XOPERATOR; }
break;
case 125:
-#line 475 "perly.y"
+#line 476 "perly.y"
{ yyval.opval = newSLICEOP(0, yyvsp[-1].opval, yyvsp[-4].opval); }
break;
case 126:
-#line 477 "perly.y"
+#line 478 "perly.y"
{ yyval.opval = newSLICEOP(0, yyvsp[-1].opval, Nullop); }
break;
case 127:
-#line 479 "perly.y"
+#line 480 "perly.y"
{ yyval.opval = prepend_elem(OP_ASLICE,
newOP(OP_PUSHMARK, 0),
newLISTOP(OP_ASLICE, 0,
ref(yyvsp[-3].opval, OP_ASLICE))); }
break;
case 128:
-#line 485 "perly.y"
+#line 486 "perly.y"
{ yyval.opval = prepend_elem(OP_HSLICE,
newOP(OP_PUSHMARK, 0),
newLISTOP(OP_HSLICE, 0,
expect = XOPERATOR; }
break;
case 129:
-#line 492 "perly.y"
+#line 493 "perly.y"
{ yyval.opval = yyvsp[0].opval; }
break;
case 130:
-#line 494 "perly.y"
+#line 495 "perly.y"
{ yyval.opval = newUNOP(OP_ENTERSUB, 0, scalar(yyvsp[0].opval)); }
break;
case 131:
-#line 496 "perly.y"
+#line 497 "perly.y"
{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar(yyvsp[-2].opval)); }
break;
case 132:
-#line 498 "perly.y"
+#line 499 "perly.y"
{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
append_elem(OP_LIST, yyvsp[-1].opval, scalar(yyvsp[-3].opval))); }
break;
case 133:
-#line 501 "perly.y"
+#line 502 "perly.y"
{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
break;
case 134:
-#line 504 "perly.y"
+#line 505 "perly.y"
{ yyval.opval = newUNOP(OP_DOFILE, 0, scalar(yyvsp[0].opval)); }
break;
case 135:
-#line 506 "perly.y"
+#line 507 "perly.y"
{ yyval.opval = newUNOP(OP_NULL, OPf_SPECIAL, scope(yyvsp[0].opval)); }
break;
case 136:
-#line 508 "perly.y"
+#line 509 "perly.y"
{ yyval.opval = newUNOP(OP_ENTERSUB,
OPf_SPECIAL|OPf_STACKED,
prepend_elem(OP_LIST,
)),Nullop)); dep();}
break;
case 137:
-#line 516 "perly.y"
+#line 517 "perly.y"
{ yyval.opval = newUNOP(OP_ENTERSUB,
OPf_SPECIAL|OPf_STACKED,
append_elem(OP_LIST,
)))); dep();}
break;
case 138:
-#line 525 "perly.y"
+#line 526 "perly.y"
{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
prepend_elem(OP_LIST,
scalar(newCVREF(0,scalar(yyvsp[-2].opval))), Nullop)); dep();}
break;
case 139:
-#line 529 "perly.y"
+#line 530 "perly.y"
{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
prepend_elem(OP_LIST,
yyvsp[-1].opval,
scalar(newCVREF(0,scalar(yyvsp[-3].opval))))); dep();}
break;
case 140:
-#line 534 "perly.y"
+#line 535 "perly.y"
{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
newCVREF(0, scalar(yyvsp[-3].opval))); }
break;
case 141:
-#line 537 "perly.y"
+#line 538 "perly.y"
{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
append_elem(OP_LIST, yyvsp[-1].opval,
newCVREF(0, scalar(yyvsp[-4].opval)))); }
break;
case 142:
-#line 541 "perly.y"
+#line 542 "perly.y"
{ yyval.opval = newOP(yyvsp[0].ival, OPf_SPECIAL);
hints |= HINT_BLOCK_SCOPE; }
break;
case 143:
-#line 544 "perly.y"
+#line 545 "perly.y"
{ yyval.opval = newLOOPEX(yyvsp[-1].ival,yyvsp[0].opval); }
break;
case 144:
-#line 546 "perly.y"
+#line 547 "perly.y"
{ yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
break;
case 145:
-#line 548 "perly.y"
+#line 549 "perly.y"
{ yyval.opval = newOP(yyvsp[0].ival, 0); }
break;
case 146:
-#line 550 "perly.y"
+#line 551 "perly.y"
{ yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
break;
case 147:
-#line 552 "perly.y"
+#line 553 "perly.y"
{ yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
break;
case 148:
-#line 554 "perly.y"
+#line 555 "perly.y"
{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
break;
case 149:
-#line 557 "perly.y"
+#line 558 "perly.y"
{ yyval.opval = newOP(yyvsp[0].ival, 0); }
break;
case 150:
-#line 559 "perly.y"
+#line 560 "perly.y"
{ yyval.opval = newOP(yyvsp[-2].ival, 0); }
break;
case 151:
-#line 561 "perly.y"
+#line 562 "perly.y"
{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
scalar(yyvsp[0].opval)); }
break;
case 152:
-#line 564 "perly.y"
+#line 565 "perly.y"
{ yyval.opval = newOP(yyvsp[-2].ival, OPf_SPECIAL); }
break;
case 153:
-#line 566 "perly.y"
+#line 567 "perly.y"
{ yyval.opval = newUNOP(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
break;
case 154:
-#line 568 "perly.y"
+#line 569 "perly.y"
{ yyval.opval = pmruntime(yyvsp[-3].opval, yyvsp[-1].opval, Nullop); }
break;
case 155:
-#line 570 "perly.y"
+#line 571 "perly.y"
{ yyval.opval = pmruntime(yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval); }
break;
case 158:
-#line 576 "perly.y"
+#line 577 "perly.y"
{ yyval.opval = Nullop; }
break;
case 159:
-#line 578 "perly.y"
+#line 579 "perly.y"
{ yyval.opval = yyvsp[0].opval; }
break;
case 160:
-#line 582 "perly.y"
+#line 583 "perly.y"
{ yyval.opval = Nullop; }
break;
case 161:
-#line 584 "perly.y"
+#line 585 "perly.y"
{ yyval.opval = yyvsp[0].opval; }
break;
case 162:
-#line 586 "perly.y"
+#line 587 "perly.y"
{ yyval.opval = yyvsp[-1].opval; }
break;
case 163:
-#line 589 "perly.y"
+#line 590 "perly.y"
{ yyval.ival = 0; }
break;
case 164:
-#line 590 "perly.y"
+#line 591 "perly.y"
{ yyval.ival = 1; }
break;
case 165:
-#line 594 "perly.y"
+#line 595 "perly.y"
{ in_my = 0; yyval.opval = my(yyvsp[0].opval); }
break;
case 166:
-#line 598 "perly.y"
+#line 599 "perly.y"
{ yyval.opval = newCVREF(yyvsp[-1].ival,yyvsp[0].opval); }
break;
case 167:
-#line 602 "perly.y"
+#line 603 "perly.y"
{ yyval.opval = newSVREF(yyvsp[0].opval); }
break;
case 168:
-#line 606 "perly.y"
+#line 607 "perly.y"
{ yyval.opval = newAVREF(yyvsp[0].opval); }
break;
case 169:
-#line 610 "perly.y"
+#line 611 "perly.y"
{ yyval.opval = newHVREF(yyvsp[0].opval); }
break;
case 170:
-#line 614 "perly.y"
+#line 615 "perly.y"
{ yyval.opval = newAVREF(yyvsp[0].opval); }
break;
case 171:
-#line 618 "perly.y"
+#line 619 "perly.y"
{ yyval.opval = newGVREF(0,yyvsp[0].opval); }
break;
case 172:
-#line 622 "perly.y"
+#line 623 "perly.y"
{ yyval.opval = scalar(yyvsp[0].opval); }
break;
case 173:
-#line 624 "perly.y"
+#line 625 "perly.y"
{ yyval.opval = scalar(yyvsp[0].opval); }
break;
case 174:
-#line 626 "perly.y"
+#line 627 "perly.y"
{ yyval.opval = scope(yyvsp[0].opval); }
break;
case 175:
-#line 629 "perly.y"
+#line 630 "perly.y"
{ yyval.opval = yyvsp[0].opval; }
break;
-#line 2272 "perly.c"
+#line 2273 "perly.c"
}
yyssp -= yym;
yystate = *yyssp;