Chinaunix首页 | 论坛 | 博客
  • 博客访问: 602714
  • 博文数量: 90
  • 博客积分: 5111
  • 博客等级: 大校
  • 技术积分: 928
  • 用 户 组: 普通用户
  • 注册时间: 2007-11-29 16:56
文章存档

2011年(15)

2010年(34)

2009年(19)

2008年(22)

我的朋友

分类: LINUX

2008-11-14 10:48:19

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";
 
阅读(5483) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~