Username: Password:

Perl文档及目录操作
来源:linux宝库作者:linux宝库 发布时间:2007-09-30 00:00:00


  大多数程式都不是孤立的,他们和他们的环境相互作用。很多的程式也需要通过文档操作实现数据的存贮和交换。 文档句柄(file handle)是Perl程式中为程式和外部世界提供I/O连接的名称。建议全部使用大写字母以示和变量等的区分。特别地,也能够将 STDIN/STDOUT/STDERR也认为 是Perl的文档句柄,分别代表标准输入/标准输出/标准错误输出。

  打开及关闭文档

  Perl的文档操作和C语言极为相似。如:

  open(FILENAME,"abc.txt");

  该调用为读文档打开,若为写文档而打开,需在文档名前加上大于号:

  open(FILENAME,">abc.txt");

  若要追加至文档尾,可在文档名前加上两个大于号:

  open(FILENAME,">>abc.txt");

  以上三种open()格式在成功时返回真,失败时返回假。但程式中通常没有提示,出错时往往会被人们忽略。 通常当需要给出出错提示时,可加入die()函数。例:

  open(OUTFILE,">/tmp/outfile")||

  die "出错,不能建立/tmp/outfile\n";

  当只有open失败时,才会执行die给出出错提示。

  对文档句柄的操作完成后,能够用close操作符关闭文档。如:

  close(OUTFILE);

  -x 文档测试

  Perl的文档操作也能够先测试文档是否存在,是否可读写等。如:

  $x="abc.txt";

  if(-e $x) { #abc.txt是否存在?

  # 存在操作

  } else {

  printf "文档不存在。\n";

  }

  -e操作符测试文档或目录是否存在。

  以下为文档测试清单:

  文档测试 测试操作符提供的信息

  -r 文档或目录可读

  -w 文档或目录可写

  -x 文档或目录执行

  -o 文档或目录归用户任何

  -R 文档或目录对真正用户可读

  -W 文档或目录对真正用户可写

  -X 文档或目录对真正用户执行

  -O 文档或目录归真正用户任何

  -e 文档或目录存在

  -z 文档存在且大小为0

  -s 文档或目录存在且不为0(返回字节数)

  -f 文档为普通文档

  -d 文档为目录

  -l 文档为符号链接

  -p 文档为命名管道(FIFO)

  -S 文档为一个套口(socket)

  -b 文档为块特别文档

  -c 文档为字符特别文档

  -t 打开tty控制台的文档句柄

  -u 文档或目录是配置用户ID号

  -g 文档或目录是配置用户组ID号

  -k 文档或目录的sticky位置位

  -T 文档是文本文档

  -B 文档是二进制文档

  -M 以天为单位的存在时间

  -A 以天为单位访问时间

  -C 以天为单位同代码更改时间

  删除文档

  Perl的unlink()操作符可实现删除文档。如:

  unlink("abc.txt"); #删除abc.txt

  文档重命名

  Perl的rename()操作符可实现文档重命名。如:

  rename("abc","zmd")||die "出错,不能更名";

  此时将abc更名为zmd,成功返回真,否则给出出错提示。

  目录操作

  Perl中处理目录很类似于处理文档。

  打开目录句柄:

  opendir(ETC,"/etc")||die "出错,不能打开目录";

  关闭目录句柄:

  closedir(ETC);

  创建目录:

  mkdir("zmd",0777)||die "不能创建zmd目录";

  0777为内部权限格式。

  删除目录:

  rmdir("zmd")||die "不能删除zmd目录"。

喜欢本文,那就收藏到:

    Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪ViVi 365Key网摘 天极网摘 和讯网摘 博拉网 POCO网摘 添加到饭否 QQ书签 Digbuzz我挖网
相关评论  我也要评论
还没有关于此文章的相关评论!
  • 昵称: (为空则显示guest)
  • 评论分数: ★ ★ ★★★ ★★★★ ★★★★★
  • 评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
  • 导航
    赞助商
    文章类别
    订阅