collect shells怎么读:TIP7:Perl中find的用法

来源:百度文库 编辑:偶看新闻 时间:2024/04/29 20:52:34

Perl中find的用法 - [Perl]

版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://pohai.blogbus.com/logs/10592879.html

     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下。这是可以用正则表达式选出我们寻找的文件。注意在匹配时“$”代表一个字符串最后的匹配而“^”代表与开头匹配。