Perl 5 version 20.3 documentation
- state TYPE VARLIST
- state VARLIST : ATTRS
- state TYPE VARLIST : ATTRS
statedeclares 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.
If more than one variable is listed, the list must be placed in parentheses. With a parenthesised list,
undefcan be used as a dummy placeholder. However, since initialization of state variables in list context is currently not possible this would serve no purpose.
statevariables 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.10or later to the current scope.