perl-5.22.1
state VARLIST
state TYPE VARLIST
state VARLIST : ATTRS
state TYPE VARLIST : ATTRS

state declares a lexically scoped variable, just like my. However, those variables will never be reinitialized, contrary to lexical variables that are reinitialized each time their enclosing block is entered. See "Persistent Private Variables" in perlsub for details.

state はちょうど my と同様に、レキシカルなスコープの変数を宣言します。 しかし、レキシカル変数がブロックに入る毎に再初期化されるのと異なり、 この変数は決して再初期化されません。 詳しくは "Persistent Private Variables" in perlsub を参照してください。

If more than one variable is listed, the list must be placed in parentheses. With a parenthesised list, undef can be used as a dummy placeholder. However, since initialization of state variables in list context is currently not possible this would serve no purpose.

複数の変数を指定する場合、かっこで囲まなければなりません。 かっこで囲まれたリストでは、undef はダミーのプレースホルダとして使えます。 しかし、リストコンテキストでの state 変数の初期化は現在のところできないので、 これは無意味です。

state variables are enabled only when the use feature "state" pragma is in effect, unless the keyword is written as CORE::state. See also feature. Alternately, include a use v5.10 or later to the current scope.

state 変数は、キーワードが CORE::state として書かれていない限り、 feature 'state' プラグマが有効の場合のみ有効です。 feature も参照してください。 Alternately, include a use v5.10 or later to the current scope. (TBT)