在Perl中存储UNIVERSAL方法的位置

时间:2012-12-06 09:01:16

标签: perl oop methods

所以我理解特殊的UNIVERSAL类被认为是创建所有其他对象的基类。因此,如果在Perl遍历继承层次结构后找不到特定方法,它将在UNIVERSAL类中查看是否可以在那里找到该方法。但是,在创建分发时,不会创建UNIVERSAL.pm包。此外,UNIVERSAL方法'DOES'和'can'已经存在,没有UNIVERSAL.pm ...因此,我不确定我是否应该将UNIVERSAL方法写入随机包中,如下所示:

sub UNIVERSAL::nicemethod{
    launch_teh_missles();
}

或者我应该创建一个单独的UNIVERSAL包和.pm文件?什么是最佳做法?

1 个答案:

答案 0 :(得分:1)

您可以像对待任何其他包一样向UNIVERSAL添加新方法:

package
   UNIVERSAL;  # Line break to fool CPAN indexer

sub nice_method {
   ...
}