find通常被用来查找特定路径下的特定文件,用来搜索文件名非常有用,是perl中使用非常广泛的文件操作函数。
先看个例子:
use File::Find;
find(\&PrintName, @curDir);
sub PrintName{
my $path;
if (/$reg/) {
$path = $File::Find::name;
$path =~ s/\//\\/g;
$path =~ s/\\+/\\/g;
print LST "$path\n";
}
}
这是一个find函数的经典使用方法。它包含在FILE模块中,有两个参数。第一个一般为子程序,第二个为搜寻的路径。这里路径是用列表表示的,可以存放多个路径,即可以同时对几条路径进行搜索。每遇到一个文件,子程序都会被调用。我们需要判断,找到的文件是否与我们想要的文件相匹配。
File::Find方式具有特殊变量,将被赋予特定的信息,显示如下:
(1)$_包含目录中的当前文件名
(2)$File::Find::dir包含当前目录名
(3)$File::Find::name包含$File::Find::dir/$_
在寻找过程中,我们都位于目录$File::Find::dir下。这是可以用正则表达式选出我们寻找的文件。注意在匹配时“$”代表一个字符串最后的匹配而“^”代表与开头匹配。
本文介绍了Perl中的find函数,它是用于搜索特定路径下符合指定条件的文件的强大工具。通过一个示例展示了find函数的基本用法,包括如何定义回调子程序来处理每个文件以及如何利用正则表达式筛选目标文件。

被折叠的 条评论
为什么被折叠?



