这是我无法弄清楚的奇怪事情。我有一个 Moose 类,我还想使用古老的标准 Exporter 模块导出一些常量。但是,一旦我添加extends Exporter
到我的类中,由于某种原因,默认的 Moose 构造函数不再被继承,并且我得到了致命错误:
Can't locate object method "new" via package "MyApp::Dispatch"
这是一个演示问题的简单测试。
package Foo;
use Moose;
use constant NARF => 'poit';
extends 'Exporter';
1;
$ perl -I./lib -MFoo -e '$f=Foo->new'
Can't locate object method "new" via package "Foo" at -e line 1.
删除extends
线使问题消失。
这是使用 Moose 0.93。