redo [expression]
redo restarts a loop block without evaluating
the conditional again. The optional expression argument
may evaluate to a positive integer number that indicates which
level of the nested loops should be restarted. If omitted, it
defaults to 1, i.e. the innermost loop.
Using this command outside a loop causes an immediate run-time error.
Example 42. Restart a higher level loop from an inner one
while ($i<100) {
# ...
foreach //para {
# some code
if $param {
redo; # redo foreach loop
} else {
redo 2; # redo while loop
}
}
}