• Perl遍历目录


    环境为windos,需要注意的两点:

    1、默认activePerl下的采用的编码是gbk,所以需要将字符串转为gbk才不会显示乱码

    2、遍历文件目录时,需要排除特殊的目录.和..

    完整的代码:

       1: #!/usr/bin/perl
       2: use strict;
       3: use warnings;
       4: use Encode qw/from_to/; 
       5:  
       6: my $path = "e:/CSS Design";
       7: my $filecount = 0; 
       8:  
       9: sub parse_env {    
      10:     my $path = $_[0]; #或者使用 my($path) = @_; @_类似javascript中的arguments
      11:     my $subpath;
      12:     my $handle; 
      13:  
      14:     if (-d $path) {#当前路径是否为一个目录
      15:         if (opendir($handle, $path)) {
      16:             while ($subpath = readdir($handle)) {
      17:                 if (!($subpath =~ m/^\.$/) and !($subpath =~ m/^(\.\.)$/)) {
      18:                     my $p = $path."/$subpath"; 
      19:  
      20:                     if (-d $p) {
      21:                         parse_env($p);
      22:                     } else {
      23:                         ++$filecount;
      24:                         print $p."\n";
      25:                     }
      26:                 }                
      27:             }
      28:             closedir($handle);            
      29:         }
      30:     } 
      31:  
      32:     return $filecount;
      33: } 
      34:  
      35: my $count = parse_env $path;
      36: my $str = "文件总数:".$count;
      37: from_to($str, "utf8", "gbk"); 
      38:  
      39: print $str; 

    运行效果图:

    image

  • 相关阅读:
    scala 中的修饰符
    scala 主从构造器
    scala 伴生对象与伴生类
    scala 通过apply创建类的对象
    kali linux 全版本(以前的版本)镜像下载
    install python in wine
    SSH防爆破脚本
    SSH私用私钥登陆
    linux 内核提权
    Windows下MYSQL读取文件为NULL
  • 原文地址:https://www.cnblogs.com/meteoric_cry/p/1933398.html
Copyright © 2020-2023  润新知