Perl實現遍曆目錄例子_perl

來源:互聯網
上載者:User

環境為windos,需要注意的兩點:

1、預設activePerl下的採用的編碼是gbk,所以需要將字串轉為gbk才不會顯示亂碼
2、遍曆檔案目錄時,需要排除特殊的目錄.和..

完整的代碼:

複製代碼 代碼如下:

#!/usr/bin/perl
 use strict;
 use warnings;
 use Encode qw/from_to/;
 
 my $path = "e:/CSS Design";
 my $filecount = 0;
 
 sub parse_env {   
     my $path = $_[0]; #或者使用 my($path) = @_; @_類似javascript中的arguments
     my $subpath;
     my $handle;
 
     if (-d $path) {#當前路徑是否為一個目錄
         if (opendir($handle, $path)) {
             while ($subpath = readdir($handle)) {
                 if (!($subpath =~ m/^\.$/) and !($subpath =~ m/^(\.\.)$/)) {
                     my $p = $path."/$subpath";
 
                     if (-d $p) {
                         parse_env($p);
                     } else {
                         ++$filecount;
                         print $p."\n";
                     }
                 }               
             }
             closedir($handle);           
         }
     }
 
     return $filecount;
 }
 
 my $count = parse_env $path;
 my $str = "檔案總數:".$count;
 from_to($str, "utf8", "gbk");
 
 print $str;

運行效果圖:

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.