首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用%EXPORT_TAGS

如何使用%EXPORT_TAGS
EN

Stack Overflow用户
提问于 2010-07-05 03:27:46
回答 1查看 3.2K关注 0票数 6

我在"lib“中有一个类似的模块,名为Fool.pm,它基于CGI.pm的源代码 (因为这是我在考虑导出标记时想到的第一个模块):

代码语言:javascript
复制
package Fool;
require Exporter;
@ISA = qw(Exporter);
@EXPORT_OK = qw/raspberry/;
%EXPORT_TAGS = (
    ':all' => \@EXPORT_OK,
);
1;

像这样的测试脚本:

代码语言:javascript
复制
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行中止。

我看不出这是怎么回事,有人能帮忙吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-07-05 03:43:18

你的钥匙里不应该有冒号。此外,我认为变量必须声明为our,这样才能使它对Exporter可用。

代码语言:javascript
复制
our @ISA = qw(Exporter);
our @EXPORT_OK = qw/raspberry/;

our %EXPORT_TAGS = (
    'all' => \@EXPORT_OK,
);
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3177104

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档