Perl open 函数



描述

此函数使用指定的句柄打开文件。文件句柄可以是表达式,其结果值用作句柄。如果未指定文件名,则使用与文件句柄相同的名称的变量(这应该是一个包含指向文件名的字符串值的标量变量)。特殊文件名“-”指代 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
广告