gpt4 book ai didi

perl - 使用带空括号的 Perl 模块

转载 作者:行者123 更新时间:2023-12-04 22:48:49 25 4
gpt4 key购买 nike

我正在努力学习 Perl 并了解一些关于 use 的知识。和模块。

(假设 use strict; use warnings; )

我了解 use File::Find;加载模块的所有子程序。

我了解 use File::Find qw(find);仅加载 find模块的子程序(尽管其他子程序可以通过 File::Find::finddepth 使用)。

那么File::Find (); 是什么意思?做?具体来说,为什么是空括号?

最佳答案

tl;dr :它说不导出任何东西而不是默认值。

长版:

文件::查找有 our @EXPORT = qw(find finddepth); ,因此默认情况下会导出这些潜艇。如果我们只是使用模块然后尝试调用find它出错是因为我没有将正确的参数传递给 find但是 find确实存在。

quentin@workstation:~ # perl
use 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 中传递一个列表语句覆盖默认值并仅导出您要求的子项。空列表意味着不会导出任何列表,并且会出错,因为 find不存在。这样的:
quentin@workstation:~ # perl
use File::Find ();
find();

Undefined subroutine &main::find called at - line 2.

关于perl - 使用带空括号的 Perl 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13400733/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com