专栏首页游戏杂谈Perl遍历目录

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;

运行效果图:

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • perl删除Windows下的图片缓存缩略图(Thumbs.db)

         接手以前别人做的项目,发现SVN里的ignore里并没有对*.db处理,导致图片的缓存缩略文件都被提交了,而我只要打开图片文件夹,就意味着Thumbs...

    meteoric
  • 使用Perl的File::Path模块删除非空文件夹

    不过那个只是针对单个的文件,使用unlink方法就可以了(未测试过只读文件删除的情况- -!),那如果要删除指定的一个文件夹,有三种方案:

    meteoric
  • 手机浏览器音频内核的坑

    在华为4.4的设备上,发现H5做的一款小游戏不能播放声音,用cocos2d-js的可以正常播放。手机的UA标识:

    meteoric
  • Java集合--非阻塞队列(ConcurrentLinkedQueue基础)

    贾博岩
  • 系统性能指标

    之后我们可以设置这个指标作为监控阈值,保证方法调用消耗时间少于这个值,如果超过此值,则报警。

    春哥大魔王
  • python使用execjs执行含有document、window等对象的js代码,使用jsdom解决

    因为我用的Python3,所以没用PyV8(安装网上的方法,也没有安装好,可能我太笨了 - -! 如果有会的麻烦指点一下)

    用户1214487
  • Wpbullet:针对WordPress的静态代码分析工具

    今天给大家介绍的是一款名叫Wpbullet的工具,广大安全研究人员可以使用这款工具来对WordPress、插件、主题以及其他PHP项目进行静态代码分析。

    FB客服
  • python os.path模块

    语法:  os.path.join(path1[,path2[,......]])

    py3study
  • 用 Node.js 实现定时任务[每日前端夜话0xFE]

    在本文中,我们将研究如何在 Node 程序中创建和使用 Cron 作业。为此我们将创建一个简单的程序,该应用程序会自动从服务器中删除自动生成的 error.lo...

    疯狂的技术宅
  • 前端高效开发必备的 js 库梳理

    之前有很多人问学好前端需要学习哪些 js 库, 主流框架应该学 vue 还是 react ? 针对这些问题, 笔者来说说自己的看法和学习总结.

    若川

扫码关注云+社区

领取腾讯云代金券