四、Perl读取文件操作


 1.Perl 使用一种叫做文件句柄类型的变量来操作文件。

从文件读取或者写入数据需要使用文件句柄。

文件句柄(file handle)是一个 I/O 连接的名称。

Perl 提供了三种文件句柄: STDINSTDOUTSTDERR, 分别代表标准输入标准输出标准出错输出

参数说明:

(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);

```

执行以上程序,输出结果为:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容