Perl脚本实现递归遍历目录下的文件

 更新时间:2015年04月14日 09:24:57   投稿:junjie  
这篇文章主要介绍了Perl脚本实现递归遍历目录下的文件,本文直接给出实现代码,代码中包含明细注释,需要的朋友可以参考下
#!/usr/bin/perl -w
use strict;
use File::Spec;

local $\ ="\n";#当前模块的每行输出加入换行符  

my %options;

#目录路径
$options{single_case} = '/home/jiangyu/src/pl/Example';

  my @cases;
  if (-d $options{single_case}) {#判断目录是否存在
    my @files;
    my $dh;
    push(@files, $options{single_case});
    while (@files) {
      if (-d $files[0]) {#若是目录执行以下操作
        opendir $dh, $files[0] or die $!;#打开目录句柄,若失败打印错误信息
        @_ = grep { /^[^\.]/ } readdir $dh;#过滤掉以"."和".."的文件,即UNIX下的隐藏文件
        foreach (@_) {
          push(@files, File::Spec->catfile ($files[0], $_));#连接目录名和文件名形成一个完整的文件路径:
        }
        closedir $dh;
      }
      #若是文件直接压入数组@cases中
      elsif ($files[0] =~ /\.t$/) {
        push(@cases, $files[0]);
      }
      shift @files;
    }
  }
  else {
    @cases = ($options{single_case});
  }


print $_ foreach @cases;#打印文件列表

相关文章

  • Perl文件读取的经典用法分享

    Perl文件读取的经典用法分享

    Perl文件读取的经典用法,有需要的朋友可以参考下
    2013-02-02
  • Perl实现删除Windows下的图片缓存缩略图Thumbs.db

    Perl实现删除Windows下的图片缓存缩略图Thumbs.db

    这篇文章主要介绍了Perl实现删除Windows下的图片缓存缩略图Thumbs.db,本文实现了批量删除Thumbs.db文件,需要的朋友可以参考下
    2014-12-12
  • perl的POD权限问题处理

    perl的POD权限问题处理

    今天我们继续查找mod_perl对req_header的处理,有需要的朋友建议参考学习之
    2013-02-02
  • Perl中的子程序学习笔记

    Perl中的子程序学习笔记

    这篇文章主要介绍了Perl中的子程序学习笔记,本文讲解了子程序的定义、调用、返回值、局部变量、子程序参数传递等内容,需要的朋友可以参考下
    2015-02-02
  • perl Socket编程实例代码

    perl Socket编程实例代码

    Perl的networking 功能非常强大,基本上用c/c++能做的事perl都能做,而且做得更轻松方便,甚至可以只用10来行代码就完成了c/c++要几十上百甚至几百行才能完成得好的工作
    2013-02-02
  • perl处理json的序列化和反序列化

    perl处理json的序列化和反序列化

    perl可以使用JSON模块很方便的处理json的序列化和反序列化,本文通过一个简单例子给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2023-12-12
  • FTP自动上传文件的perl脚本以及配置文件

    FTP自动上传文件的perl脚本以及配置文件

    这个perl文件将执行的任务是, 按照指定的文件夹目录,自动将该文件夹下的所有文件上传到指定ftp站点的指定目录下
    2006-11-11
  • 使用Perl生成随机密码

    使用Perl生成随机密码

    本文给大家分享的是使用perl生成随机密码的方法示例,而且可以通过参数来控制密码中包含的字符种类,非常的不错,有需要的小伙伴可以参考下
    2016-06-06
  • 让apache2以cgi方式运行perl cgi程序的实现方法

    让apache2以cgi方式运行perl cgi程序的实现方法

    让apache2以cgi方式运行perl cgi程序的方法,供大家学习参考
    2013-02-02
  • windows安装perl及komodo IDE的详细步骤

    windows安装perl及komodo IDE的详细步骤

    这篇文章主要介绍了windows安装perl及komodo IDE的详细步骤,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12

最新评论