質問
それぞれのシンボルテーブルエントリを削除した後、「$ 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
解決
シンボルテーブルは、コンパイル時間でのみ(またはシンボリックリファレンスを介して)使用されるためです。の価値であるグローブ $Foo::{...}
コンパイルされたコードによって直接参照されるため、ロンガーが存在するシンボルテーブルの入力が効果がありません。
所属していません StackOverflow