Perl-open

提供:Dev Guides
移動先:案内検索

Perlオープン関数

説明

この関数は、指定されたファイルハンドルを使用してファイルを開きます。 ファイルハンドルは式である場合があり、結果の値はハンドルとして使用されます。 ファイル名が指定されていない場合、使用されるファイルハンドルと同じ名前の変数(これは、ファイル名を参照する文字列値を持つスカラー変数である必要があります)。 特殊ファイル名「-」はSTDINを指し、「>-」はSTDOUTを指します。

構文

以下は、この関数の簡単な構文です-

open FILEHANDLE, EXPR, LIST

open FILEHANDLE, EXPR

open FILEHANDLE

戻り値

この関数は、失敗するとoを返し、成功すると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