you might also want to have a look at redo and continue.
this "code" shows where next, redo and last jump, if
continue is present:
while (EXPR) {
REDO:
#body of while block
} continue {
NEXT:
#body of next block
}
LAST:
without continue it looks slightly different:
NEXT: while (EXPR) {
REDO:
# body of while block
}
LAST:
perls next, redo and last can also be used to get
out of a deeper level of iteration:
# nb this is stupid code that shortens lines (a char at a time)
# and prints the result, until it finds a z at the first pos.
LINE: foreach(<>) {
while(s/^.//) {
print;
last LINE if /^z/; #this also breaks the foreach loop. -- it j
+umps to the print "done"; statement
}
}
print "done";
|