Eri*_*rom 8 perl alias typeglob perl-stash
在Perl中,以下两个结构之间是否存在任何差异:
*main::foo = *main::bar
Run Code Online (Sandbox Code Playgroud)
和
$main::{foo} = $main::{bar}
Run Code Online (Sandbox Code Playgroud)
它们似乎具有相同的功能(将所有槽中的别名别名*main::foo
定义在中*main::bar
),但我只是想知道这种等效性是否总是成立.
也许不是你想要的那种差异,但是*main::foo
和之间有两个很大的区别$main::{foo}
; 前者在编译时查找存储区中的glob,必要时创建它,而后者在运行时查找存储区中的glob,并且不会创建它.
这可能会对存储中的任何其他东西产生影响,它肯定会影响您是否收到used only once
警告.