perl 读取文件然后删除

!/usr/bin/perl

use Cwd;
use Encode;
use LWP::Simple qw(get);
my $dir = getcwd; #这个可以获取路径

print “path $dir \n” ;

my $controlNum=5;
my $rootPath = “D:\spket\*” ;
my @projectName= glob($rootPath);

for(@projectName){

print $_."\n";
my @workfolwName =glob($_."\\*"); 
  for(@workfolwName){ #流水线目录
    # print "workflowName $_ \n";
    my %gg ;
    my @jobName = glob($_."\\*");
    if(scalar(@jobName) >$controlNum){#判断文件数大于预设个数则处理
        for(@jobName){  #遍历循环jobName
          if($_=~m/job_/g){#包含特定字符的文件夹
          my $startIndex = index($_,"job_",0)+length("job_");#第一个_的位置
          my $endIndex   = index($_, "_" , index($_,"job_",0)+length("job_")+1 ) ;
          my $jobLeng    = $endIndex-$startIndex;
          my $id=  substr($_,$startIndex,$jobLeng);
          $gg{$id}=$_ ;
        # print " id ==  $id   jobPathName = $_ \n";
        }

    my @cc = sort{$b<=>$a} keys %gg;

    for(my $i=0 ; $i<scalar(@cc);$i++ ){
      if($i>$controlNum){
        while(my ($key,$value)= each(%gg)){
        #print " key == $key \n";
          if($key eq $cc[i-1] ){
                print "delPath =  $value \n";

            }
        }
       }
    }

    }
  }
}

}

你可能感兴趣的:(perl 读取文件然后删除)