| 关键词: 文件 目录 句柄 操作符 测试 用户 abc Perl 程序 open |
大多数程序都不是孤立的,它们与它们的环境相互作用。很多的程序也需要通过文件操作实现数据的存贮和交换。 文件句柄(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目录"; |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|