> $ perl -d:Trace <<END
> warn "1";
> {
> warn "3";
> }
> warn "5";
> END
> >> -:1: warn "1";
> 1 at - line 1.
> >> -:5: warn "5"; <== wrong
> >> -:3: warn "3";
> 3 at - line 3.
> >> -:5: warn "5";
> 5 at - line 5.
I believe this is fixed by a one line change (plus `make regen_perly`):
/* a block is a loop that happens once */
$$ = newWHILEOP(0, 1, (LOOP*)(OP*)NULL,
(OP*)NULL, $1, $2, 0);
- PL_parser->copline = NOLINE;
}
| PACKAGE WORD WORD '{' remember
{