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 の実行が中止されました。
私は何を間違っていますか?