关闭文件:当文件操作完毕后,用close(MYFILE); 关闭文件。
2.读文件
语句$line = <MYFILE>;从文件中读取一行数据存储到简单变量$line中并把文件指针向后移动一行。<STDIN>为标准输入文件,通常为键盘输入,不需要打开。
语句@array = <MYFILE>;把文件的全部内容读入数组@array,文件的每一行(含回车符)为@array的一个元素。
#!/usr/bin/perl open(MYFILE,'1.txt'); @arr = <MYFILE>; print @arr;
3.写文件
形式为:
open(OUTFILE, ">outfile");
print OUTFILE ("Here is an output line.n");
注:STDOUT、STDERR为标准输出和标准错误文件,通常为屏幕,且不需要打开。
4.判断文件状态
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。 | |









