perl 文件[一]

文件描述符:

访问文件时用来代表文件的数字。

它是系统资源,系统限制打开的文件描述符的数量

Perl中只有某些系统调用时才使用它

文件句柄:

功能同文件描述符,但是文件描述符

文件句柄:

功能同文件描述符,但是与文件描述符不是一个东西。

Perl使用文件句柄代表文件

文件描述符于文件句柄互相转换:

文件句柄=>文件描述符: fileno(F);返回文件描述符

文件描述符=>文件句柄 :open (F,">&n);

文件变量:

存放在磁盘上,永久存储数据。用于读写访问,访问前要先打开文件,结束要关闭文件

open(HANDLE,">filename") || die $!;成功返回非0,失败返回0

HANDLE:文件句柄,文件变量。用来代表操作的文件。以字母开头,字母,数字,下划线组成,不以$,@,%类的符号开头,可能与关键字if等重名,故一般用大写字母。

缺省打开的句柄STDIN,STDOUT,STDERR,文件描述符为0,1,2 不能调用open就可以直接访问

STDIN: 键盘输入,控制台

STDOUT:屏幕,显示屏

STDERR: 错误输出,显示屏


文件读写模式:

文件用于读还是写,在第二个参数前的>位置

1.只读,<或省略,如果文件不存在则打开失败。如OPEN(F,'file'); OPEN(F,"<file");

2.只写:> 为写打开文件,文件不存在则创建,文件存在则清除内容重写。

3.追加:>>,为写打开文件,文件不存在则创建,文件存在不清除内容,在原内容后追加。

4.读写:+< 可读可写,文件不存在则失败,不清除内容,不追加,直接覆盖原文件。

5.读写:+> 可读可写,文件不存在则创建,文件存在则清除内容再写。

6.读写:+>> ,可读可写,文件不存在则创建,文件存在则追加。

管道: |

open (F,"cat>hello");把文件F的输出(print F $a) 作为|后的输入。

open(F,"comm|");把comm的输出作为F的输入,以下内容只要读出。Comm为命令

文件名:

Filename:含相对路径或绝对路径的文件名

 不含路径的文件名前的空格可以忽略,但有路径的文件名不能。

可以用变量代表文件名

特殊的文件如">file",可能使读变成写。使用变量代表文件名时注意过滤文件名。

赋值文件句柄;open(F,">&STDOUT);写入F文件的内容都变成写入屏幕STDOUUT

使用文件描述符:open(F,">&3);把文件描述符赋值成句柄。或者">&=3"

open() 打开成功返回非零,失败返回零 

原文地址:https://www.cnblogs.com/hzcya1995/p/13352041.html