=over =item next LABEL X X =item next EXPR =item next The L|/next LABEL> command is like the C statement in C; it starts the next iteration of the loop: LINE: while () { next LINE if /^#/; # discard comments #... } Note that if there were a L|/continue BLOCK> block on the above, it would get executed even on discarded lines. If LABEL is omitted, the command refers to the innermost enclosing loop. The C form, available as of Perl 5.18.0, allows a label name to be computed at run time, being otherwise identical to C. L|/next LABEL> cannot return a value from a block that typically returns a value, such as C, C, or C. It will perform its flow control behavior, which precludes any return value. It should not be used to exit a L|/grep BLOCK LIST> or L|/map BLOCK LIST> operation. Note that a block by itself is semantically identical to a loop that executes once. Thus L|/next LABEL> will exit such a block early. See also L|/continue BLOCK> for an illustration of how L|/last LABEL>, L|/next LABEL>, and L|/redo LABEL> work. Unlike most named operators, this has the same precedence as assignment. It is also exempt from the looks-like-a-function rule, so C will cause "bar" to be part of the argument to L|/next LABEL>. =back