我在"lib“中有一个类似的模块,名为Fool.pm,它基于CGI.pm的源代码 (因为这是我在考虑导出标记时想到的第一个模块):
package Fool;
require Exporter;
@ISA = qw(Exporter);
@EXPORT_OK = qw/raspberry/;
%EXPORT_TAGS = (
':all' => \@EXPORT_OK,
);
1;像这样的测试脚本:
use lib 'lib';
use Fool qw/:all/;我尝试运行这个脚本并获得以下内容:
perl fool.pl "all“未在%Fool::EXPORT_TAGS中定义在fool.pl第2行main:: BEGIN ()在lib/Fool.pm第2行调用的fool.pl {.}在lib/Fool.pm第2行导入错误后不能继续,fool.pl第2行开始失败-编译在fool.pl第2行中止。
我看不出这是怎么回事,有人能帮忙吗?
发布于 2010-07-05 03:43:18
你的钥匙里不应该有冒号。此外,我认为变量必须声明为our,这样才能使它对Exporter可用。
our @ISA = qw(Exporter);
our @EXPORT_OK = qw/raspberry/;
our %EXPORT_TAGS = (
'all' => \@EXPORT_OK,
);https://stackoverflow.com/questions/3177104
复制相似问题