This is still an issue in 5.29.8. for($i = 5; $i != 10; $i++) { print $i, "\n"; } deparse: while ( ( $i != 10 ) ) { print( $i, "\n" ); } continue { ( ++$i ) } for(my $i = 5; $i != 10; $i++) { print $i, "\n"; } deparse: while ( ( $i != 10 ) ) { print( $i, "\n" ); } continue { ( ++$i ) } This problem goes back to atleast 5.8.8. $ /c/perl588/bin/perl5.8.8.exe -e 'print $]' 5.008008 $ /c/perl588/bin/perl5.8.8.exe -MO=Deparse,-p,-q,-x9,-P -e 'for(my$i = 5; $i != 10; $i++) { print $i, "\n"; }' -e syntax OK while (($i != 10)) { print($i, "\n"); } continue { (++$i) } Thanks. --- via perlbug: queue: perl5 status: new https://rt.perl.org/Ticket/Display.html?id=132397