我想compilate 这个纸条 ,但我有这样的信息:
无法找到电子邮件/ Address.pm在@公司(@公司包含:C:/草莓/ perl的/ lib目录C:/草莓/ perl的/网站/ lib目录C:\草莓\ perl的\供应商\ LIB)在C: /草莓/ perl的/ lib目录/正则表达式/通用/电子邮件/ Address.pm线9. BEGIN失败 - 编译位于C中止:/草莓/ perl的/ lib目录/正则表达式/通用/电子邮件/ Address.pm 9行编译失败要求在(EVAL 1)第1行BEGIN失败 - 汇编中C中止:\例子\ script2.pl线4。
我不明白,因为我真的有这个根
C:/strawberry/perl/lib/Regexp/Common/Email/Address.pm
有谁知道为什么我有这样的错误消息时,我尝试compilate我的纸条?
非常感谢
我试图用这句话:
使用LIB 'C:/草莓/ perl的/ lib目录/正则表达式/通用/电子邮件';
并把作为评价这两个句子:
use Regexp::Common qw[Email::Address];
use Email::Address
然后我得到这个错误
Global symbol "%RE" requires explicit package name at C:\examples\script2.pl lin
e 10.Execution of C:\examples\script2.pl aborted due to compilation errors.
从来就在采取一看perldiag
全球符号“%s”需要明确的包名(F)你说:“使用严格”或“使用严格瓦尔”,这表明所有变量必须被词法范围(使用“我”或“国家”),宣布事先使用“我们”,或明确资格说全局变量在(使用“::”)的包。
但我觉得对我来说有点理论由我明白,你必须使用的代码的乞讨了一句“使用”使用软件包。
顺便说一句,这是我的代码:
use Regexp::Common qw[Email::Address];
use Email::Address;
while (<>) {
my (@found) = /($RE{Email}{Address})/g;
my (@addrs) = map $_->address, Email::Address->parse("@found");
print "X-Addresses: ", join(", ", @addrs), "\n";
}
我得到这个代码从一个问题,我问过的。