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

state 声明一个词法作用域变量,就像 my。但是,这些变量永远不会被重新初始化,这与词法变量相反,词法变量在每次进入其封闭块时都会被重新初始化。有关详细信息,请参阅 "perlsub 中的持久私有变量"

如果列出了多个变量,则必须将列表放在括号中。对于带括号的列表,undef 可用作虚拟占位符。但是,由于目前无法初始化此类列表中的 state 变量,因此这没有任何用处。

在同一作用域或语句中重新声明变量将“覆盖”之前的声明,创建一个新实例并阻止访问前一个实例。这通常是不可取的,并且如果启用警告,则会导致 shadow 类别中的警告。

仅当启用了"state" 功能或以 CORE:: 为前缀时,才可以使用 state。在当前作用域中声明 use v5.10(或更高版本)时,将自动启用"state" 功能