next 也可能指代模块:NEXT
next LABEL
next EXPR
next

next 命令类似于 C 语言中的 continue 语句;它开始循环的下一个迭代

LINE: while (<STDIN>) {
    next LINE if /^#/;  # discard comments
    #...
}

请注意,如果上面有一个 continue 块,即使在被丢弃的行上也会执行它。如果省略 LABEL,则该命令引用最内层的封闭循环。next EXPR 形式(从 Perl 5.18.0 开始可用)允许在运行时计算标签名称,在其他方面与 next LABEL 相同。

next 不能从通常返回值的块中返回值,例如 eval {}sub {}do {}。它将执行其流程控制行为,这将排除任何返回值。它不应用于退出 grepmap 操作。

请注意,块本身在语义上等同于执行一次的循环。因此,next 将提前退出此类块。

另请参见 continue,以了解 lastnextredo 的工作原理。

与大多数命名运算符不同,它与赋值具有相同的优先级。它也不受看起来像函数规则的约束,因此 next ("foo")."bar" 将导致 "bar" 成为 next 的参数的一部分。