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 {}
。它會執行流程控制行為,排除任何傳回值。不應使用它來結束 grep
或 map
執行。
請注意,區塊本身在語意上與執行一次的迴圈相同。因此 next
會提早結束此類區塊。
另請參閱 continue
以了解 last
、next
和 redo
的運作方式。
與大多數命名運算子不同,此運算子的優先順序與賦值相同。它也不受類似函式的規則約束,因此 next ("foo")."bar"
會使「bar」成為 next
參數的一部分。