用Perl统计文件夹中所有普通文件数量

由于项目需要,自己动手写了一个用Perl统计指定文件目录中普通文件个数的小程序。这个小程序没有依赖任何第三方模块,完全是用最基本的Perl代码实现的。使用时只需要指定一个目标目录即可。

在编码过程中,有两个地方(第4行和第14行附近)本来打算用rindex,但是发现在不用的平台下,rindex的表现不太一样,考虑到移植性,就写了个稍微繁琐一点的控制逻辑。

如果有什么错误或可以改进的地方,请留言。

 
 
  1. use strict; 
  2. use warnings; 
  3. my $dir = $ARGV[0]; 
  4. my $last_char = substr($dir,(length $dir)-1); 
  5. if($last_char ne "/"){ 
  6.     $dir = $dir."/"
  7. my $fileNumber = 0; 
  8. &cycle($dir); 
  9. print "File Number:\t$fileNumber\n"
  10.  
  11. sub cycle{ 
  12.     my $subDir = $_[0]; 
  13.     my $last = substr($subDir,(length $subDir)-1); 
  14.     if($last ne "/"){ 
  15.         $subDir = $subDir."/"
  16.     } 
  17.     my @list = glob $subDir."*"
  18.     foreach(@list){ 
  19.         if(-f $_){ 
  20.             $fileNumber++; 
  21.         } elsif(-d $_){ 
  22.             &cycle($_); 
  23.         }    
  24.     } 
  25. }        

相关文章

1. 如何去重 #!/usr/bin/perl use strict; my %hash; while(...
最近写了一个perl脚本,实现的功能是将表格中其中两列的数据...
表的数据字典格式如下:如果手动写MySQL建表语句,确认麻烦,...
巡检类工作经常会出具日报,最近在原有日报的基础上又新增了...
在实际生产环境中,常常需要从后台日志中截取报文,报文的形...
最近写的一个perl程序,通过关键词匹配统计其出现的频率,让...