perl linux 遍历文件,perl中使用递归 遍历目录

perl自带的函数远不及php多,但功能确实很强大,实现起来也只有几行代码。

perl中的目录操作函数有:

1。mkdir 函数

调用语法:mkdir (dirname, permisions)

dirname:将要创建的目录名,可以为字符串或表达式。

permisions:八进制数,指定目录的访问权限。其值和意义如下:

权限值                权限

4000                  运行时设置用户 ID

2000                  运行时设置组 ID

1000                  粘贴位

0400                  拥有者读权限

0200                  拥有者写权限

0100                  拥有者执行权限

0040                  组读权限

0020                  组写权限

0010                  组执行权限

0004                  所有人读权限

0002                  所有人写权限

0001                  所有人执行权限

2。chdir 函数

调用语法:chdir (dirname)

3。opendir 函数

调用语法:opendir (dirvar, dirname)

dirvar:目录句柄,与文件句柄类似

dirname:目录名,可为字符串或表达式

调用成功返回真,否则返回假

4。closedir 函数

调用语法:closedir (mydir)

5。readdir 函数

调用语法:readdir (mydir)

6。telldir 函数

调用语法:location = telldir (mydir)

返回当前所在目录

7。seekdir 函数

调用语法:seekdir (mydir, location)

location必须为telldir 函数返回的值

8。rewinddir 函数

调用语法:rewinddir (mydir)

9。rmdir 函数

调用语法:rmdir (dirname)

程序代码:

#!/usr/bin/perl

sub listdir {

my @arr, $j = 0;

for($i=0;$i<=$#_;$i++) {

if(-d $_[$i]) {

if(opendir($handle, $_[$i])) {

while($dir = readdir($handle)) {

if(!($dir =~ m/^\.$/) and !($dir =~ m/^(\.\.)$/)) {

print "$dir";

if(-d $_[$i]."\\$dir") {

$arr[$j++] = $_[$i]."\\$dir";

print "\t[DIR]"

}

print "\n";

}

}

closedir($handle);

}

}

}

if($j>0) {

listdir (@arr);

}

}

listdir "D:\\download";

阅读(4818) | 评论(0) | 转发(1) |

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值