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
廣告
© . All rights reserved.