7

我正在Log4Perlperl.com
教程中阅读它说: use Log::Log4perl qw(:easy);

:前面是什么easy?它是某种特殊的语法吗?

4

2 回答 2

9

它是特殊语法,适用于Specialized Import Lists,特别适用于导出标签。

这是该文档中模块的示例导出器部分

@EXPORT      = qw(A1 A2 A3 A4 A5);
@EXPORT_OK   = qw(B1 B2 B3 B4 B5);
%EXPORT_TAGS = (T1 => [qw(A1 A2 B1 B2)], T2 => [qw(A1 A2 B3 B4)]);

该模块的用户可以说:

use Module qw(:DEFAULT :T2);

导入默认集合 ( @EXPORT) 中的所有名称以及集合中定义的名称T2

除非...

有问题的包使 sub 重载并使用选项做任何它想做的事情,根据amesee 的回答import,这就是这个包似乎做的事情 。

于 2013-05-26T13:49:35.563 回答
4

这不是特殊的 perl 语法。只是作者确定的一些前缀使这个字符串看起来更像是一个配置值。您可以在导入定义中亲自查看。它只是在一个散列中寻找一个值的存在,键为:easy。只是一个由字符':','e','a','s','y'组成的字符串。

于 2013-05-26T13:48:46.210 回答