state VARLIST
state TYPE VARLIST
state VARLIST : ATTRS
state TYPE VARLIST : ATTRS

state 宣告一個詞彙範圍變數,就像 my。但是,這些變數永遠不會重新初始化,這與詞彙變數不同,詞彙變數會在每次進入其封閉區塊時重新初始化。詳情請參閱 "perlsub 中的「持續性私有變數」

如果列出多個變數,則必須將清單置於括號中。使用括號清單時,undef 可用作虛擬佔位符。但是,由於目前無法初始化此類清單中的狀態變數,因此這沒有任何作用。

在同一個範圍或陳述式中重新宣告變數會「遮蔽」前一個宣告,建立一個新的執行個體,並阻止存取前一個執行個體。這通常是不需要的,如果啟用警告,則會在 shadow 類別中產生警告。

state 僅在啟用 "state" 功能 或以 CORE:: 為前綴時可用。 "state" 功能 會在目前範圍中自動啟用 use v5.10(或更高版本)宣告。