當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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 open Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。