当前位置:K88软件开发文章中心编程语言PerlPerl01 → 文章内容

Perl 文件操作

减小字体 增大字体 作者:佚名  来源:网上搜集  发布时间:2019-1-11 13:10:50

数用于获取文件位置:tell FILEHANDLEtell如果指定 FILEHANDLE 该函数返回文件指针的位置,以字节计。如果没有指定则返回默认选取的文件句柄。seek 函数seek()函数是通过文件句柄来移动文件读写指针的方式来读取或写入文件的,以字节为单位进行读取和写入:seek FILEHANDLE, POSITION, WHENCE参数说明:





FILEHANDLE:文件句柄,用于存放一个文件唯一标识符。POSITION:表示文件句柄(读写位置指针)要移动的字节数。WHENCE:表示文件句柄(读写位置指针)开始移动时的起始位置,可以取的值为0、1、2;分别表示文件开头、当前位置和文件尾。以下实例为从文件开头读取 256 个字节:seek DATA, 256, 0;文件信息Perl 的文件操作也可以先测试文件是否存在,是否可读写等。我们可以先创建 file1.txt 文件,内如如下:$ cat file1.txt www.k88.net实例





#/usr/bin/perlmy $file = "/usr/test/k88/file1.txt";my (@description, $size);if (-e $file){push @description, '是一个二进制文件' if (-B _);push @description, '是一个socket(套接字)' if (-S _);push @description, '是一个文本文件' if (-T _);push @description, '是一个特殊块文件' if (-b _);push @description, '是一个特殊字符文件' if (-c _);push @description, '是一个目录' if (-d _);push @description, '文件存在' if (-x _);push @description, (($size = -s _)) ? "$size 字节" :





'空';print "$file 信息:", join(', ',@description),"\n";}执行以上程序,输出结果为:file1.txt 信息:是一个文本文件, 15 字节文件测试操作符如下表所示:操作符描述-A文件上一次被访问的时间(单位:天)-B 是否为二进制文件-C 文件的(inode)索引节点修改时间(单位:天)-M 文件上一次被修改的时间(单位:天)-O 文件被真实的UID所有-R 文件或目录可以被真实的UID/GID读取-S 为socket(套接字)-T 是否为文本文件-W 文件或目录可以被真实的UID/GID写入-X 文件或目录可以被真实的UID/GID执行-b 为block-special (特殊块)文件(如挂载磁盘)-c 为character-special (特殊字符)文件(如I/O 设备)-d 为目录-e 文件或目录名存在-f 为普通文件-g 文件或目录具有setgid属性-k 文件或目录设置了sticky位-l 为符号链接-o 文件被有效UID所有-p 文件是命名管道(FIFO)-r 文件可以被有效的UID/GID读取-s 文件或目录存在且不为0(返回字节数) -t 文件句柄为TTY(系统函数isatty()的返回结果;不能对文件名使用这个测试)-u 文件或目录具有setuid属性-w 文件可以被有效的UID/GID写入-x 文件可以被有效的UID/GID执行-z文件存在,大小为0(目录恒为false),即是否为空文件,

上一页  [1] [2] 


Perl 文件操作