Вот что-то странное, что я не могу понять. У меня есть класс 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
устраняет проблему.
Используется лось 0,93.