state
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.
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.
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.
© 1993–2016 Larry Wall and others
Licensed under the GNU General Public License version 1 or later, or the Artistic License.
The Perl logo is a trademark of the Perl Foundation.
https://perldoc.perl.org/5.22.0/functions/state.html