У меня есть простой тестовый класс, использующий Moose с атрибутом XML :: LibXML :: Document, но получаю сообщение об ошибке при использовании этого тестового класса. Класс тест:Ошибка делегированияToAClassWhichIsNotLoaded с Moose и XML :: LibXML
package moosetest;
use strict;
use warnings;
use XML::LibXML;
use Moose;
has dom => (is => 'rw', isa => 'XML::LibXML::Document', required => 0, handles => qr/^(findnodes | documentElement | setDocumentElement | toString | toFile)$/x);
1;
Затем он используется в test.pl:
use XML::LibXML;
use moosetest;
my $tt = moosetest->new();
И когда я бегу test.pl, я получаю сообщение об ошибке:
Атрибут дом пытается для делегирования в класс, который не был загружен - XML :: LibXML :: Document
Я использую perlbrew, XML :: LibXML установлен (я могу создать экземпляр объекта XML :: LibXML :: Document без usi ng Moose), Moose также был успешно установлен.
Похоже, я пропускаю что-то важное здесь, но я не могу найти источник моей проблемы ...
Спасибо за любую помощь.
Francois.
ОК, она работает с изменением вы предложили. Все еще странно для меня ... Я исправлю код, но он работал с предыдущей версией perl (5.16), XML :: LibXML и Moose, возникла ошибка, когда я попытался обновить среду разработки ... – francois
ОК, отвечая самому себе: он работал с Moose 2.0802 и не справляется с последней версией. Может быть, из-за изменения в 2.1100 (изменил загрузчик классов) ... – francois