在perl中使用qw(:ALL)有什么用

use*_*276 6 perl

我知道qw()功能,但我在很多地方看到过使用qw(:ALL).

使用它有什么好处,在哪里可以找到使用的例子qw(:ALL)

tob*_*ink 17

qw(:ALL)意思是完全一样的(":ALL").它只是一个单项列表,由一个四字符串组成 - 冒号,大写字母A,大写字母L,大写字母L.没有什么令人兴奋的.

许多Perl模块提供可以导入命名空间的函数.例如,该Carp模块提供类似croak和的功能confess.许多此类模块允许您指定要导入的函数列表:

use Carp "confess", "croak", "cluck";
use Carp qw( confess croak cluck );      # this means the same, but looks cleaner
Run Code Online (Sandbox Code Playgroud)

有些模块允许你指定类似":ALL"":all""-all"在该列表中,表示要导入所有他们所提供的功能.File :: Spec :: Functions是执行此操作的模块的示例:

use File::Spec::Functions ":ALL";
use File::Spec::Functions qw( :ALL );    # means the same again
Run Code Online (Sandbox Code Playgroud)

冒号的原因是为了更清楚地表明你没有请求导入一个被调用的函数ALL(这样的函数可能存在 - 实际上,List :: MoreUtils提供了一个函数调用all).这没有技术上的原因; 只是惯例.写一个模块是完全可能的,这样:

use Foo::Bar "ALL";
Run Code Online (Sandbox Code Playgroud)

...导入Foo :: Bar的所有功能.但人们不这样做是因为传统.