Perl 打开函数


描述

该函数使用指定的文件句柄打开一个文件。文件句柄可以是一个表达式,结果值用作句柄。如果未指定文件名,则使用与所使用的文件句柄同名的变量(这应该是一个标量变量,其字符串值引用文件名)。特殊文件名“-”指 STDIN,“>-”指 STDOUT。

句法

以下是该函数的简单语法 -

open FILEHANDLE, EXPR, LIST

open FILEHANDLE, EXPR

open FILEHANDLE

返回值

该函数在失败时返回 0,在成功时返回 1。

例子

以下是以只读模式打开 file.txt 的语法。这里小于 < 符号表示文件必须以只读模式打开。

open(DATA, "<file.txt");

这里的 DATA 是将用于读取文件的文件句柄。这是打开文件并在屏幕上打印其内容的示例。

#!/usr/bin/perl

open(DATA, "<file.txt");

while(<DATA>) {
   print "$_";
}

以下是在写入模式下打开 file.txt 的语法。这里小于 > 符号表示文件必须以写入模式打开 -

open(DATA, ">file.txt");

此示例实际上在打开文件进行写入之前截断(清空)文件,这可能不是所需的效果。如果要打开文件进行读写,可以在 > 或 < 字符前添加加号。

例如,打开一个文件进行更新而不截断它 -

open(DATA, "+<file.txt");

首先截断文件 -

open DATA, "+>file.txt" or die "Couldn't open file file.txt, $!";

您可以以附加模式打开文件。在此模式下,写入点将设置为文件末尾。

open(DATA,">>file.txt") || die "Couldn't open file file.txt, $!";

双 >> 打开文件进行追加,将文件指针放在末尾,以便您可以立即开始追加信息。但是,除非您还在它前面放置一个加号,否则您无法读取它 -

open(DATA,"+>>file.txt") || die "Couldn't open file file.txt, $!";

下表给出了不同模式的可能值。

Entities    Definition
< or r		Read Only Access
> or w		Creates, Writes, and Truncates
>> or a         Writes, Appends, and Creates
+< or r+	     Reads and Writes
+> or w+	     Reads, Writes, Creates, and Truncates
+>> or a+    Reads, Writes, Appends, and Creates
perl_function_references.htm