我是一个Perl新手.我试图删除目录(A)及其所有子目录(B,C)中具有特定扩展名的所有文件.我已经学会了如何为给定的目录执行此操作,但不是递归的.以下是A目录中的作业,但不是B,C子目录中的作业.
use strict;
use warnings;
my $dir = "~/A/";
unlink glob "$dir/*.log";
Run Code Online (Sandbox Code Playgroud)
我试过了
use strict;
use warnings;
use File::Find;
my $dir = "~/A";
find(\&wanted, $dir);
sub wanted {
unlink glob "*.log";
}
Run Code Online (Sandbox Code Playgroud)
但后来我收到一条消息:Can't stat ~/A: No such file or directory.虽然目录在那里.任何提示?马里奥
尝试使用$ENV{"HOME"}而不是~特定于shell的,
use strict;
use warnings;
my $dir = "$ENV{HOME}/A";
unlink glob "$dir/*.log";
Run Code Online (Sandbox Code Playgroud)