Perl';s模块列表

Perl';s模块列表,perl,perl-module,Perl,Perl Module,导入模块时,我被一些东西弄糊涂了,比如: use POSIX; use POSIX(); & & 这些使用之间有什么区别?大多数模块使用导出器模块公开被调用方命名空间中的函数/变量/常量 use POSIX; 这只会将POSIX的@EXPORT中的所有符号导入调用模块的名称空间 use POSIX(); 这不会将任何符号导入调用命名空间。但是,它会加载模块,这意味着您可以调用函数,如POSIX::strftime(…),等等 use POSIX(WNOHANG) 这将只将符号WNOHA

导入模块时,我被一些东西弄糊涂了,比如:

use POSIX;
use POSIX();
&

&


这些
使用
之间有什么区别?

大多数模块使用
导出器
模块公开被调用方命名空间中的函数/变量/常量

use POSIX;
这只会将POSIX的
@EXPORT
中的所有符号导入调用模块的名称空间

use POSIX();
这不会将任何符号导入调用命名空间。但是,它会加载模块,这意味着您可以调用函数,如
POSIX::strftime(…)
,等等

use POSIX(WNOHANG)
这将只将符号
WNOHANG
导入调用模块的名称空间

use POSIX;
如果您不熟悉
@EXPORT
@EXPORT\u OK
数组,您肯定应该浏览的文档。使用
Exporter
是Perl中将符号从一个模块导出到模块名称空间(调用名称空间)的标准方法
POSIX
也使用它

同样值得一提的是,使用面向对象接口设计的模块通常不需要导入符号