废话不多说,直接上代码
#! usr/bin/perl
us Cwd
my $dir = "."; #当前文件夹,也可以自己通过参数获得
my $file ;
my $slash = "/";
my @dir_child ;
my $xfile = "x.log";
my $yfile = "y.log";
my $zfile = "z.log";
opendir (DIR,$dir) or die "Cant open the directory";
open (OFILE ,">$xfile") or die "Cant open x.log\n";
open (BADFILE ,">$yfile") or die "Cant open y.log\n";
open (DIRFILE ,">$zfile") or die "Cant open z.log\n";
@dir = opendir DIR;
foreach $file (@dir)
{
if($file =~ /[A-Za-z0-9]\.pl/) #找到任意pl文件
{
print OFILE $file ;
print OFILE "\n";
}
elsif(-d $file)
{
if(($file ne '.') && ($file ne '..'))
{
push @dir_child , $file;
}
else
{
print "get hide file \n";
}
}
else
{
print BADFILE $file ;
print BADFILE "\n";
}
}
foreach $dir (@dir_child)
{
print DIRFILE $root.$slash.$dir ;
print DIRFILE "\n";
}
close OFILE ;
close BADFILE;
close DIRFILE;