1.Perl 使用一种叫做文件句柄类型的变量来操作文件。
从文件读取或者写入数据需要使用文件句柄。
文件句柄(file handle)是一个 I/O 连接的名称。
Perl 提供了三种文件句柄: STDIN,STDOUT,STDERR, 分别代表标准输入、标准输出和标准出错输出。
参数说明:
(1)FILEHANDLE:文件句柄,用于存放一个文件唯一标识符。
(2)EXPR:文件名及文件访问类型组成的表达式。
(3)MODE:文件访问类型。
(4)PERMS:访问权限位(permission bits)。
2.open 函数
open(DATA, "<file.txt");
< 表示只读方式。
代码中的 DATA 为文件句柄用于读取文件,以下实例将打开文件并将文件内容输出:
```perl
#!/usr/bin/perl
#当open(DATA, "<file.txt")执行失败时,执行die "file.txt 文件无法打开, $!"
open(DATA, "<file.txt") or die "file.txt 文件无法打开, $!";
while(<DATA>){
# "$_"是内置变量:表示读取一行的数据
print "$_";
}
close(DATA);
```
3.向文件读写信息有以下几种不同的方式:
从打开的文件句柄读取信息的主要方法是 <FILEHANDLE> 操作符。在标量上下文中,它从文件句柄返回单一行。例如:
```perl
#!/usr/bin/perl
print "菜鸟教程网址?\n"; $name = <STDIN>;
print "网址:$name\n";
```
以上程序执行后,会显示以下信息,我们输入网址后 print 语句就会输出:

当我们使用 <FILEHANDLE> 操作符时,它会返回文件句柄中每一行的列表,例如我们可以导入所有的行到数组中。实现创建 import.txt 文件,内容如下:
```perl
$ cat import.txt
1
2
3
```
读取 import.txt 并将每一行放到 @lines 数组中:
```perl
#!/usr/bin/perl
open(DATA,"<import.txt") or die "无法打开数据";
@lines = <DATA>;
print @lines; # 输出数组内容
close(DATA);
```
执行以上程序,输出结果为:
