我一直在查看Package::Stash::PP(Class::MOP::Package使用无 PP 版本)。我试图了解它是如何工作的,并在里面偶然发现了这个块sub add_symbol
:
{
# using glob aliasing instead of Symbol::gensym, because otherwise,
# magic doesn't get applied properly.
# see <20120710063744.19360.qmail@lists-nntp.develooper.com> on p5p
local *__ANON__:: = $namespace;
no strict 'refs';
no warnings 'void';
no warnings 'once';
*{"__ANON__::$name"};
}
块的作用是什么?它似乎没有做任何事情,因为匿名 typeglob 分配是范围的本地。我检查了符号表并使用了 Devel::Peek::Dump(),但没有看到提到的代码块的意义。
我尝试搜索但没有成功找到提到的票:<20120710063744.19360