【发布时间】:2013-10-04 20:21:24
【问题描述】:
我正在尝试理解 Moose::Exporter,但无论我尝试什么,几乎与手册中完全相同的示例都不起作用。
package HasRw;
use Moose;
use Moose::Exporter;
Moose::Exporter->setup_import_methods(
with_meta => ['has_rw'],
also=>'Moose');
sub has_rw {
my ( $meta, $name, %options ) = @_;
$meta->add_attribute(
$name,
is => 'rw',
%options,
);
}
1;
package Another;
use Moose;
has_rw 'foo';
package main;
my $ww = new Another(foo=>"bar");
这在文件example.pl中;当我尝试用 perl 运行它时,我收到了这个错误消息
在 example.pl 第 23 行附近的运算符预期位置找到字符串 "has_rw 'foo'"
(是否需要预先声明 has_rw?)example.pl 第 23 行“has_rw 'foo'”附近的语法错误
执行 example.pl 由于编译错误而中止。
我做错了什么?
【问题讨论】: