alex (>):
> Code:
> loop (my $i = 0; $i <= 5; $i++;) { say }
> 
> Result:
> ===SORRY!=== Error while compiling ./test.pl
> Missing block
> at ./test.pl:2
> ------> loop (my $i = 0; $i <= 5; $i++⏏;) { say }

Interesting failure mode.

That semicolon looks unnecessary but harmless to me. (It's of the 
"statement-ending" kind, not the "statement-separating" kind that Perl usually 
uses.) I wonder if it couldn't be possible to parse it correctly, but warn 
about "useless semicolon".

As a further data point, Perl 5 also parsefails on the corresponding code:

$ perl -Mstrict -wE'for (my $i = 0; $i < 10; $i++;) { say $i }'
syntax error at -e line 1, near "++;"
Execution of -e aborted due to compilation errors.

Reply via email to