perlのopen関数の使い方を教えてください。
Perl の open 関数は、ファイルやパイプを開くために使用されます。基本的な形式は 3 つあります。
- ファイルを開き、ファイルハンドラに関連付ける
open(FILEHANDLE, EXPR)
FILEHANDLEはファイルハンドルで、スカラー変数またはSTDNI、STDOUF、STDERRなどのグローバル識別子にすることができます。EXPRはファイル名またはファイルパスを含む文字列です。
例:
* 日本語:日本語をネイティブスピーカーのように話せるようになりました。
* 英語:I can speak Japanese like a native speaker.
open(my $fh, "<", "input.txt") or die "Cannot open file: $!";
- パイプを開き、ファイルハンドルに関連付けるために使用される:
open(FILEHANDLE, "|-")
FILEHANDLE はファイルハンドルで、スカラー変数やグローバル識別子(STDIN、STDOUT、STDERR など)になります。
この文章を日本語で言い換えてください。答えは1つだけでお願いします:
open(my $fh, "|-", "command") or die "Cannot open pipe: $!";
- コマンドを実行してファイルハンドルに関連付けるために使用します。
open(FILEHANDLE, "-|")
FILEHANDLEはファイルハンドラであり、スカラ変数またはグローバルインデックス(STDIN、STDOUT、STDERRなど)として扱えます。
これは彼の新しい仕事のための素晴らしい機会です。
open(my $fh, "-|", "command") or die "Cannot execute command: $!";
オープン時にopen関数はファイルモードやファイルエンコーディングなどを指定する追加のパラメータを受け取ることができます。一般的なパラメータには以下があります。
- 「<」:ファイルを読み取り専用モードで開く。
- ファイルはなけなしれば新規に作成し、あるなら内容をからにする>モードでファイルを開きます。
- 「>>」追加モード ファイルが存在しない場合は新しいファイルを作成し、ファイルが存在する場合はファイルの末尾に内容を追加します。
- 「+<」: ファイルを開いて読み書きします。
- 「+>」:読み書きモードでファイルを開き、ファイルが存在しない場合は新しいファイルを生成し、ファイルが存在する場合はファイルの中身を全て消去します。
- 「+」:読み書き追加モードでファイルを開き、ファイルが存在しない場合は新しくファイルを作成し、ファイルが存在する場合はファイルの末尾に内容を追加します。
日本語:サンプル
open(my $fh, "+<", "file.txt") or die "Cannot open file: $!";
注意: ファイルを開くには open 関数の3つの引数形式を使用して、ファイルを開けなかった場合には、die 関数を使用してエラーメッセージを表示してください。