作为一门编程语言,perl有着强大的文件和文件夹操作功能。Perl利用文件句柄(file handle)和文件夹句柄(dir handle)与操作系统进行输入输出连接。文件和文件夹句柄一般使用大写子母或指定标量以示特殊。
文件打开语句及说明:一般加入die函数做打开失败的提示。
my $filename = "some_filename";
open(my $fhb, "<", $filename) or die "Fail to open the file
$!; # 只读
open(my $fhc, ">", $filename) or die "Fail to open the file $!; # 创建文件、写操作
open(my $fhd, ">>", $filename) or die "Fail to open the file $!; # 追加
open(my $fhe, "+<", $filename) or die "Fail to open the file $!; # 读、写
文件关闭: close (FILE HANDLE);
文件(夹)测试:
文件测试 测试操作符提供的信息
-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目录"。