我知道有更简单的方法可以做到这一点,但是当我找到文件时我需要对它们进行一些操作,所以这就是我想要的方式。
我正在为 Windows 使用草莓 Perl。
my $baseDir = 'U:\\bin\\';
my $logFile = 'C:\\bintmp\\replace.log';
open(LOG,'>',$logFile);
folder($baseDir);
sub folder {
my $input = shift; # May be a file or dir
my @fileList = <$input*>;
foreach my $file (@fileList) {
if (-f ($file)) {
print LOG basename($file) . "\n";
next;
}
if (-d ($file)) {
folder($file); # Recursively call the folder function
}
}
return 1;
}
close(LOG);
我想我知道发生了什么。当我深入研究新文件夹时,@fileList
正在被替换,以便它位于底部目录。此代码将永远运行。