perl关于文件夹操作(一)

在用perl脚本读取文件夹信息的时候,基本操作类似与C语言的open函数,打开的文件夹要有类似文件指针。

opendir($dir_h, $ARGV[0]);
my @dir_contents = readdir($dir_h);
这里的$dir_h就是指向来打开目录的指针。

要读取目录的信息需要用一个数据存储,@dir_contents的长度至少为2,因为目录至少包含 "."和".."子目录,要想判断目录是否为空,需要判断目录下是否只有"."和".."子目录,操作如下:

if( scalar(@contents1) == 2 ){
        &print_error("No files in the tow directories.");
        return 0;
}
有时候要比较目录内容,例如,要比较目录里面的内容是否一致,即是否包含的文件个数和文件名称是否一一对应,则可以直接对两个数组进行比较即可:

opendir(my $dir_head1, $ARGV[0]);
my @dir_contents_1 = readdir($dir_head1);
opendir(my $dir_head2, $ARGV[1]);
my @dir_contents_2 = readdir($dir_head2);

if( @dir_contents_1 == @dir_contents_2 ){
    print "equal.\n";
}
不过有一定要格外注意,这里对数组的比较仅仅是数组内字符串的比较,无法区分文件和文件夹,仅仅是一种粗略比较, 在文件夹默认只包含文件而不包含子文件夹的时候可以使用这种比较方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值