符号表:删除条目

时间:2011-01-07 07:53:50

标签: perl symbol-table

为什么在删除相应的符号表条目后会从“$ 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

1 个答案:

答案 0 :(得分:10)

因为符号表仅在编译时使用(或通过符号引用)。作为$Foo::{...}值的glob是由编译代码直接引用的,因此不再存在的符号表条目无效。