diff --git a/src/Partcl/commands/main.pm b/src/Partcl/commands/main.pm index 0694524..cdc46d7 100644 --- a/src/Partcl/commands/main.pm +++ b/src/Partcl/commands/main.pm @@ -176,9 +176,17 @@ our sub for(*@args) { my $body := @args[3]; eval($init); - while expr($cond) { + my $loop := 1; + while $loop && expr($cond) { eval($body); eval($incr); + CONTROL { + if $! == 65 { # CONTROL_LOOP_NEXT + eval($incr); + } elsif $! == 66 { # CONTROL_LOOP_LAST + $loop := 0; + } + } } ''; }