Perl基础命令---文件句柄基础

Posted EasyPerl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Perl基础命令---文件句柄基础相关的知识,希望对你有一定的参考价值。

大部分的程序都需要和外部的世界进行数据交换, perl有一种数据类型--文件句柄, 专门来处理相关操作。

文件句柄可以理解成文件/设备/管道等等的一个别名,它可以连接程序与外部世界,简单的进行数据交互。

Perl有几个预定义文件句柄,可以直接使用, STDIN 标准输入, STDOUT标准输出, STDERR 标准错误输出。


在Perl中, 我们使用open关键字来创建文件句柄并关联一个文件, Open 可以接收2个参数:


从文件读取:

open FILE, $filename;open FILE, "<$filename";


输出到文件,如果文件不存在, 则创建文件:

open FILE, ">$filename":

追加到文件, 如果文件不存在, 则创建文件:

open FILE, ">>$filename":

但是, 更推荐的方式是使用3参数的open:

从文件读取:

open FILE, '<'$filename;


输出到文件,如果文件不存在, 则创建文件:

open FILE, '>'$filename:

追加到文件, 如果文件不存在, 则创建文件:

open FILE, '>>'$filename:

三参数的方式, 更加显式得声明文件操作类型, 以及避免了符号与文件名在一起可能造成的各种问题。


更加推荐的方式:

open my $fh'<'$filename  or die "can't open file: $filename\n";

这里我们第一个参数使用一个空引用来替代大写的“裸”文件句柄名, 同时在后方加入or die语句, 当我们打开/写入 文件失败时, 我们会主动退出, 并打印出我们预定义的错误原因, 这样使我们的程序更加的健壮。

以上是关于Perl基础命令---文件句柄基础的主要内容,如果未能解决你的问题,请参考以下文章

一个文本处理的perl脚本

Perl基础教程--精华篇

如何将 Perl 的 system() 的输出重定向到文件句柄?

Perl 使用自定义文件句柄打开外部命令

文件句柄怪癖 Perl

Perl 中文件句柄的内置名称是啥?