[Chapter 9] 9.2 The next Statement
Author: Randal Schwartz, Tom Christiansen & Larry Wall
Date: 1999-07-02T01:33:43Z

#

| Chapter 9 Miscellaneous Control Structures |

## 9.2 The next Statement

Like `last`, `next` alters the ordinary sequential flow of execution. However, `next` causes execution to skip past the rest of the innermost enclosing looping block without terminating the block.[2] It is used like this:

> [2] If there's a `continue` block for the loop, which we haven't discussed, `next` goes to the beginning of the `continue` block rather than the end of the block. Pretty close.

    while (something) {
        firstpart;
        firstpart;
        firstpart;
        if (somecondition) {
            somepart;
            somepart;
            next;
        }
        otherpart;
        otherpart;
        # next comes here
    }

If `somecondition` is true, then `somepart` is executed, and `otherpart` is skipped around.

Once again, the block of an `if` statement doesn't count as a looping block.

9.1 The last Statement |  | 9.3 The redo Statement