use Moose;
extends 'TEST::Role';
has 'name' => (
is => 'ro',
isa => 'Str',
default => 'me',
);
这适用于perl 5.8.5但不适用于5.8.8。
如何解决?
String found where operator expected at B.PM line 4, near "extends 'TEST::Role'"
(Do you need to predeclare extends?)
答案 0 :(得分:5)
如果你可以把它变成一个失败的测试并将它发布到Moose邮件列表,或者发送到irc.perl.org上的#moose,我相信有人可以帮助理清正在发生的事情。
请确保包含所有代码,此处缺少您的包声明(作为第一个提示,我不会将我的包B命名为因为它与核心包冲突)。
答案 1 :(得分:4)
如果没有名为extends
的函数,就会发生这种情况。也许你有一个破碎或旧的Moose安装?也许use Moose;
之前的行缺少分号?
顺便说一下,您的文件名应为.pm
,而不是.PM
。
答案 2 :(得分:1)
你需要把“包xxx;”在“使用驼鹿”之前排队。 这对我有用。