[摘要]die ("Could not open file"); 当文件操作完毕后,用close(MYFILE); 关闭文件。二、读文件 语句$line = ;从文件中读取一行数据存储到...
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 | 是否只有"真正的用户"可执行 |
| 注:“真正的用户”指登录时指定的userid,与当前进程用户ID相对,命令suid可以改变有效用户ID。 |
例:
unless (open(INFILE, "infile")) {
die ("Input file infile cannot be opened.\n");
}
if (-e "outfile") {
die ("Output file outfile already exists.\n");
}
unless (open(OUTFILE, ">outfile")) {
die ("Output file outfile cannot be opened.\n");
}
等价于
open(INFILE, "infile") && !(-e "outfile") &&
open(OUTFILE, ">outfile") 关键词:Perl教学 第5篇 文件读写