last LABEL
last EXPR
last

last 指令類似於 C 語言中的 break 陳述式(用於迴圈中);它會立即退出目前迴圈。如果省略 LABEL,指令會指涉最內層的封閉迴圈。從 Perl 5.18.0 開始提供的 last EXPR 形式允許在執行階段計算標籤名稱,而其他部分與 last LABEL 相同。如果有 continue 區塊,則不會執行

LINE: while (<STDIN>) {
    last LINE if /^$/;  # exit when done with header
    #...
}

last 無法傳回值自通常傳回值的區塊,例如 eval {}sub {}do {}。它會執行流程控制行為,這會排除任何傳回值。不應使用它來退出 grepmap 作業。

請注意,區塊本身在語義上與執行一次的迴圈相同。因此,last 可用於提前退出此類區塊。

另請參閱 continue,以了解 lastnextredo 的運作方式。

與大多數命名運算子不同,此運算子的優先順序與賦值相同。它也不受類似函式的規則約束,因此 last ("foo")."bar" 會導致「bar」成為 last 參數的一部分。