yst*_*sth 51
base
试图做太多事情 - 自动处理加载模块,但也允许从已经加载的类(可能来自名称不是基于模块名称的文件)建立继承.为了使其有效,有些hackery在某些情况下会导致令人惊讶的结果.不是打破向后兼容性,而是parent
使用更清晰的语义引入了一个新的替换pragma .
parent
将成为5.10.1的核心模块.
更新:忘记了base
句柄fields
(如果你使用的是fields
pragma),但是parent
没有.
Cha*_*ens 37
有了ysth的额外信息,我能够看到文档中的差异:
该base
pragma执行以下操作:
@ISA
require
(除非它检测到包已经加载)$VERSION
在命名包中不存在,则base将其设置为"-1, set by base.pm"
fields
命名包的存在(如果存在)该parent
pragma执行以下操作:
@ISA
require