使用带有空括号的Perl模块

使用带有空括号的Perl模块,第1张

概述我正在尝试学习Perl并了解有关使用和模块的内容. (假设使用严格;使用警告;) 我明白使用File :: Find;加载模块的所有子程序. 我明白使用File :: Find qw(find);只加载模块的find子程序(虽然我可以通过File :: Find :: finddepth使用其他子程序). 那么File :: Find();做?具体来说,为什么空的parens? tl; dr:它表 我正在尝试学习Perl并了解有关使用和模块的内容.

(假设使用严格;使用警告;)

我明白使用file :: Find;加载模块的所有子程序.

我明白使用file :: Find qw(find);只加载模块的find子程序(虽然我可以通过file :: Find :: finddepth使用其他子程序).

那么file :: Find();做?具体来说,为什么空的parens?

解决方法 tl; dr:它表示不导出任何内容而不是默认值.

长版:

file :: Find有我们的@EXPORT = qw(find finddepth);,因此默认情况下会导出这些子.如果我们只是使用模块,然后尝试调用find it errors,因为我没有传递正确的参数来查找但是find确实存在.

quentin@workstation:~ # perluse file::Find;find();no &wanted subroutine given at /Users/davID/perl5/perlbrew/perls/perl-5.16.1/lib/5.16.1/file/Find.pm line 1064.

在use语句中传递列表会覆盖默认值并仅导出您要求的subs.空列表表示不会导出任何内容,因为查找不存在,所以会出错.这样:

quentin@workstation:~ # perluse file::Find ();find();Undefined subroutine &main::find called at - line 2.
总结

以上是内存溢出为你收集整理的使用带有空括号的Perl模块全部内容,希望文章能够帮你解决使用带有空括号的Perl模块所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1265803.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存