夜夜秋雨孤灯
网站统计信息
点击查看统计信息:
广告位
日志 - 日历
2008 11.23 Sun
      1
2345678
9101112131415
16171819202122
23242526272829
30      
«» 2008 - 11 «»
用户公告
小不是成功,大不是成功,由小变大才是成功
搜索BLOG文章
博客基本信息
用户名: lauely
等级: 大学生
在线时间: 3901 分钟
日志总数: 291
评论数量: 130
访问次数: 346400
建立时间: 2006-02-17
最新访问

我的日志
perl中使用递归遍历目录2007-08-16

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";


原创文章如转载,请注明:转载自放飞心情 [ http://lauely.blog.zj.com/ ]
本文链接地址:http://lauely.blog.zj.com/blog/d-148623.html

TAG: perl
相关文章
文章评论0条回复
给文章评分
评分: -5 -3 -1 - +1 +3 +5
我来说两句
认证码* 看不清,就点我! 输入四位字母或数字
(您还没有登录,登录发表)
粗体 斜体 下划线 插入url链接 飞行字 移动字