关于“未定义子例程”的Perl模块错误
发布时间:2020-12-15 22:01:13 所属栏目:大数据 来源:网络整理
导读:我正在尝试使用名为 Math::Counting的模块: #!/usr/bin/perl use strict;use warnings;use Math::Counting;my $f = factorial(3);print "$fn"; 然而,当我运行它时,我收到以下错误 $perl UsingModules.plUndefined subroutine main::factorial called at Us
我正在尝试使用名为
Math::Counting的模块:
#!/usr/bin/perl use strict; use warnings; use Math::Counting; my $f = factorial(3); print "$fn"; 然而,当我运行它时,我收到以下错误 $perl UsingModules.pl Undefined subroutine &main::factorial called at UsingModules.pl line 8. 似乎函数factorial没有被导出,但为什么呢? 当我使用以下内容时 my $f = Math::Counting::factorial(3); 而不是上面的,它完全正常,但我很好奇为什么功能无法导出. 我在Cygwin上使用perl v5.10.1. 解决方法
模块中有一个错误.
Math::Counting ISA
Exporter,但Math :: Counting不加载导出器.
解决方法:您可以手动使用require或use Exporter. 更好:向模块作者提交错误,提供测试用例. 评论: 哦,非常有趣.模块作者确实测试了他的函数,但是Test :: More拉入了Exporter,这意味着没有注意到模块源代码的这种遗漏. 更新: Math::Counting 0.0904已发布,解决了这个问题. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |