Perl 全局函数


描述

该函数返回与 EXPR 匹配的文件列表,因为它们将由标准 Bourne shell 扩展。如果 EXPR 未指定路径,则使用当前目录。如果省略 EXPR,则使用 $_ 的值。

从 Perl 5.6 开始,扩展是在内部完成的,而不是使用外部脚本。扩展遵循 csh(以及任何衍生物,包括 tcsh 和 bash)扩展风格,翻译如下 -

  • 除非 EXPR 明确匹配,否则以单个句点开头的文件将被忽略。

  • * 字符匹配零个或多个任何类型的字符。

  • 这 ?字符匹配任何类型的一个字符。

  • [..] 构造根据正则表达式匹配列出的字符,包括范围。

  • ~ 字符匹配主目录;~name 与用户名的主目录匹配。

  • {..} 构造与大括号中包含的任何逗号分隔单词相匹配。

句法

以下是该函数的简单语法 -

glob EXPR

glob

返回值

如果出现错误,此函数将返回 undef,否则返回标量上下文中扩展名称列表中的第一个文件,如果出现错误,则返回空列表,否则会返回列表上下文中扩展文件名的列表。

例子

以下是显示其基本用法的示例代码 -

#!/usr/bin/perl

(@file_list) = glob "perl_g*";

print "Returned list of file @file_list\n";

执行上述代码时,会产生以下结果 -

Returned list of file
perl_function_references.htm