Perl 使用文件全局访问一个目录
在Perl中,目录是用来以列表的形式存储数值的。一个目录与一个文件非常相似。就像文件一样,目录也允许对它进行一些操作。这些操作用于修改现有的目录或创建一个新的目录。使用内置函数 glob 可以非常容易地打开和处理一个目录 。
Glob:
它返回一个与参数中传递的表达式匹配的文件列表。这个函数可以打印所有的或特定的文件,这些文件的扩展名已被传递给它。
语法
@list = <*>; // 打印当前目录下的所有文件
@list = glob("*.pl"); // 打印当前目录下所有扩展名为.pl的文件
@list = glob('//GeeksforGeeks/Files//*); // 打印指定路径下的所有文件
下面是一些例子,说明了使用 文件globbing 访问目录的情况 。
例子
- 进入脚本的当前目录:
#!/usr/bin/perl -w
# Accessing files using glob function
@files = glob('*'); # Returns list of all files
foreach file (@files) # Loop to run through all files
{
printfile . "\n"; # Print all files
}
输出:
- 打开一个指定的目录:
#!/usr/bin/perl -w
# Prints only the filename excluding the path
use File::Basename;
# Returns list of all files
@files = glob('C:/Users/GeeksForGeeks/Folder/*');
foreach file (@files) # Loop to run through all files
{
print basename(file), "\n"; # Print all files
}
输出: