您的位置:技术中心首页 > 工具学习 >> Perl >> 《Learning Perl》学习笔记 -- 第十一章 文件句柄和文件测试

《Learning Perl》学习笔记 -- 第十一章 文件句柄和文件测试

作者:jerry   时间:2007-10-21 08:57:09  来自:网上转载  浏览次数:0  文字大小:【】【】【

本章介绍如何读写文件及测试文件的类型,是日常编程中重要的内容。

1.文件句柄的概念
文件句柄(filehandle)是Perl程序中的一个名字,表示你的Perl进程与外面世界的I/O连接。也就是说,它是一个连接的名字,并不一定是一个文件的名字。
文件句柄
文件<====================>进程
2.文件句柄的命名
命令文件句柄的方式和其它Perl标识符一样(字母、数字和下划线,但不能以数字开始),但文件句柄名没有前缀字符。为了避免和Perl的保留字(关键字)冲突,一般文件句柄名全部用大写字母。
3.打开一个文件句柄
open MYFILE " > myfile" or die "Cannot Create myfile:$!";
其中,MYFILE是文件句柄名,myfile是实际的文件名,>表示向该文件中写入数据(<表示从该文件中读取数据,>>表示向该文件中追加数据);若打开文件出错,会执行die语句,终止程序执行,并给出错误信息,$!用于给出错误信息。
4.关闭一个文件句柄
close MYFILE;
5.使用文件句柄
一旦打开了一个文件句柄,就可以读入行,像使用STDIN从标准输入读取一样,譬如:
open MYFILE " > myfile" or die "Cannot Create myfile:$!";
while (<MYFILE>) {
...
}
一个为写入或追加而打开的文件句柄可以和print或printf一起使用,紧跟在其后但在参数列表之前:
print LOG "Captain's log, stardate 3.14159n"; # 输出到LOG
print STDERR "%d percent complete.n", $done/$total*100;
6.文件测试
Perl有一组完整的测试,可以用它们了解文件的信息,譬如某个文件是否存在,是否可读、可写等。所有的文件测试都有一个短横和一个字母,它们是测试的名字,后面是一个要测试的文件名或文件句柄,一般会返回一个真/假值。用法如下:
if (-e $filename) {
...
}
常用的文件测试及它们的含义:
-r : 文件或目录对该用户或组可读
-w : 文件或目录对该用户或组可写
-x : 文件或目录对该用户或组可执行
-o :文件或目录被该用户所有
-e :文件或目录存在
-z :文件存在,大小为零(对目录总为假)
-s :文件或目录存在,大小非零(单位为字节)

-f :条目是个普通文件

-d :条目是个目录

责任编辑:5life

更多相关 perl 的文章

《Learning Perl》学习笔记 -- 第十章 更多的控制结构 [2007-10-21]
《Learning Perl》学习笔记 -- 第九章 使用正则表达式 [2007-10-21]
《Learning Perl》学习笔记 -- 第八章 正则表达式提高 [2007-10-21]
《Learning Perl》学习笔记 -- 第七章 正则表达式的概念 [2007-10-21]
《Learning Perl》学习笔记 -- 第六章 I/O基础 [2007-10-21]
《Learning Perl》学习笔记 -- 第五章 散列 [2007-10-21]
《Learning Perl》学习笔记 -- 第四章 子例程 [2007-10-21]
《Learning Perl》学习笔记 -- 第三章 列表和数组 [2007-10-21]
《Learning Perl》学习笔记 -- 第一章 简介 [2007-10-21]
IC设计工程师的Perl语言学习之路 [2007-10-21]
本文共有0条评论,现在显示最新的5条。

栏目导航

电路基础
硬件语言
逻辑验证
电路综合
后端设计
可测设计
基本逻辑
制造封装
总线协议
说文解字
工具学习
数字滤波
闲话漫谈
数字锁相
设计杂项
低耗设计

站点最新

更多相关链接

  《Learning Perl》学习笔...
  《Learning Perl》学习笔...
  《Learning Perl》学习笔...
  《Learning Perl》学习笔...
  《Learning Perl》学习笔...
  《Learning Perl》学习笔...
  《Learning Perl》学习笔...
  《Learning Perl》学习笔...
  《Learning Perl》学习笔...
  《Learning Perl》学习笔...

栏目最新

更多相关链接

  《Learning Perl》学习笔...
  《Learning Perl》学习笔...
  《Learning Perl》学习笔...
  《Learning Perl》学习笔...
  《Learning Perl》学习笔...
  《Learning Perl》学习笔...
  《Learning Perl》学习笔...
  《Learning Perl》学习笔...
  《Learning Perl》学习笔...
  《Learning Perl》学习笔...

热点文章

更多相关链接

  使用perl脚本分析timing report
  在perl脚本中调用外部命令
  在Perl中获取当前目录的完整路径
  《Learning Perl》学习笔记 ...
  《Learning Perl》学习笔记 ...
  《Learning Perl》学习笔记 ...
  《Learning Perl》学习笔记 ...
  《Learning Perl》学习笔记 ...
  《Learning Perl》学习笔记 ...
  《Learning Perl》学习笔记 ...