state EXPR
state TYPE EXPR
state EXPR : ATTRS
state TYPE EXPR : 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 variables are enabled only when the use feature "state" pragma is in effect, unless the keyword is written as CORE::state. See also feature.