第五章文件读写 | 您所在的位置:网站首页 › filename文件 › 第五章文件读写 |
第五章⽂件读写 第五章
⽂件读写
语法为 open (filevar, filename) ,其中 filevar 为⽂件句柄,或者说是程序中⽤来代表某⽂件的代号, filename 为⽂件名,其路径可为相对路径,亦可为绝对路径。 open(FILE1,"file1"); open(FILE1, "/u/jqpublic/file1");
打开⽂件时必须决定访问模式,在 PERL 中有三种访问模式:读、写和添加。后两种模式的区别在于写模式将原⽂件覆盖,原有内容丢失,形式为: open(outfile,">outfile"); ⽽添加模式则 在原⽂件的末尾处继续添加内容,形式为: open(appendfile, ">>appendfile") 。要注意的是,不能对⽂件同时进⾏读和写 / 添加操作。 open 的返回值⽤来确定打开⽂件的操作是否成功,当其成功时返回⾮零值,失败时返回零,因此可以如下判断: if (open(MYFILE, "myfile")) { # here's what to do if the file opened successfully }
当⽂件打开失败时结束程序: unless (open (MYFILE, "file1")) { die ("cannot open input file file1\n"); }
亦可⽤逻辑或操作符表⽰如下: open (MYFILE, "file1") || die ("Could not open file");
当⽂件操作完毕后,⽤ close(MYFILE); 关闭⽂件。
语句 $line = ; 从⽂件中读取⼀⾏数据存储到简单变量 $line 中并把⽂件指针向后移动⼀⾏。 为标准输⼊⽂件,通常为键盘输⼊,不需要打开。
语句 @array = ; 把⽂件的全部内容读⼊数组 @array ,⽂件的每⼀⾏ ( 含回车符 ) 为 @array 的⼀个元素。
形式为: open(OUTFILE, ">outfile"); print OUTFILE ("Here is an output line.\n");
注: STDOUT 、 STDERR 为标准输出和标准错误⽂件,通常为屏幕,且不需要打开。
1 、⽂件测试操作符
语法为: -op expr ,如: if (-e "/path/file1") { print STDERR ("File file1 exists.\n"); }
⽂件测试操作符 操作符 描述 -b 是否为块设备 -c 是否为字符设备 -d 是否为⽬录 -e 是否存在 -f 是否为普通⽂件 -g 是否设置了 setgid 位 -k 是否设置了 sticky 位 -l 是否为符号链接 -o 是否拥有该⽂件 -p 是否为管道 -r 是否可读 -s 是否⾮空 -t 是否表⽰终端 -u 是否设置了 setuid 位 -w 是否可写 -x 是否可执⾏ -z 是否为空⽂件 -A 距上次访问多长时间 -B 是否为⼆进制⽂件 -C 距上次访问⽂件的 inode 多长时间 -M 距上次修改多长时间 -O 是否只为 “ 真正的⽤户 ” 所拥有 -R 是否只有 “ 真正的⽤户 ” 可读 -S 是否为 socket -T 是否为⽂本⽂件 -W 是否只有 " 真正的⽤户 " 可写 -X 是否只有 " 真正的⽤户 " 可执⾏ |
CopyRight 2018-2019 实验室设备网 版权所有 |