为什么在删除相应的符号表条目后会从“$ n”和“$ m”中获取值?
#!/usr/bin/env perl
use warnings;
use 5.012;
package Foo;
our $n = 10;
our $m = 20;
delete $Foo::{'n'};
delete $Foo::{'m'};
say $n; # 10
say $m; # 20
答案 0 :(得分:10)
因为符号表仅在编译时使用(或通过符号引用)。作为$Foo::{...}
值的glob是由编译代码直接引用的,因此不再存在的符号表条目无效。