使用Perl删除目录和子目录中具有给定扩展名的文件

前端之家收集整理的这篇文章主要介绍了使用Perl删除目录和子目录中具有给定扩展名的文件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我是一个Perl新手.我试图删除目录(A)及其所有子目录(B,C)中具有特定扩展名的所有文件.我已经学会了如何为给定的目录这样做,但不是递归的.以下是A目录中的作业,但不是B,C子目录中的作业.

use strict;    
use warnings;    
my $dir = "~/A/";    
unlink glob "$dir/*.log";

我试过了

use strict;
use warnings;
use File::Find;
my $dir = "~/A";
find(\&wanted,$dir);
sub wanted { 
unlink glob "*.log";
}

但后来我收到一条消息:无法统计〜/ A:没有这样的文件或目录.虽然目录在那里.任何提示
马里奥

解决方法

试试$ENV {“HOME”}而不是〜具体是shell,

use strict;    
use warnings;    
my $dir = "$ENV{HOME}/A";
unlink glob "$dir/*.log";

猜你在找的Perl相关文章