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