我好奇。大多数 Perl 隐式调用的子例程必须全部大写。TIESCALAR, DESTROY 等。事实上perldoc perltoot
说
如果构造函数可以有任意名称,那么为什么不使用析构函数呢?因为虽然显式调用了构造函数,但没有显式调用析构函数。销毁通过 Perl 的垃圾收集 (GC) 系统自动发生,这是一个快速但有点懒惰的基于引用的 GC 系统。为了知道调用什么,Perl 坚持将析构函数命名为 DESTROY。Perl 关于调用析构函数的正确时间的概念目前还没有明确定义,这就是为什么你的析构函数不应该依赖于它们何时被调用的原因。
为什么 DESTROY 全部大写?Perl 有时使用纯大写的函数名作为约定,以表明该函数将由 Perl 以某种方式自动调用。其他被隐式调用的方法包括 BEGIN、END、AUTOLOAD,以及绑定对象使用的所有方法,在 perltie 中进行了描述。
那么为什么import
子程序要小写呢?有没有人对此有很好的见解?