高分求救:如何实现搜索目录查找需要的文件。
GC80 2004-02-12 11:47:58 以下是我的程序:有问题
就是不能完全实现搜索。
有没有什么好的方法可用?或帮我把下面的bug搞定也不甚感激。
#!/usr/bin/perl -w
use strict;
my $directory = "/tmp/";
OpenSub("$directory");
#recursion open the sub directory
sub OpenSub{
my($dir);
my($file);
my(@lines);
my(@replacelines);
$dir = $_[0];
print "\nCall Opensub($dir)\n";
opendir(DH, $dir) || die "Cannot open $dir: $!";
while ($file = readdir DH){ #read the file name one line
print "\n$dir/$file\n";
if (-f "$dir/$file")
{
print " $file is a File!!\n";
$_ = $file;
if (/.txt$/){
print "$dir/$file is a txt file\n";
if ( open(F, "$dir/$file") ){
@lines = <F>;
print @lines;
close(F);
}
}
else
{
print "$dir/$file is not a txt file\n";
}
}
else
{
$_ = $file;
if (/^\.\.?$/){
print "$dir/$file is a NOT Really Directory!!\n";
}
else
{
print "$dir/$file is a Really Directory!!\n";
OpenSub("$dir/$file");
}
}
}
closedir(DH);
}