この章ではPerlプログラムの中でファイルを扱う方法を学習します。
Perlプログラムの中でファイルを読み込んだり、書き込んだり、削除したりすることが出来ます。
プログラムでファイルを操作するには初めに、対象のファイルを開くことが必要です。
そして、その開いたファイルをプログラム上に表示させたり、プログラムの中のデータをファイルに書き込んだりする操作を加えて、
最後にその開いているファイルを閉じると言う過程をたどります。
ではファイルの開き方から説明します。
ファイルを開くにはopen関数を使います。ファイルハンドルとは今どのファイルを実行しているのかを区別するための名前のことを言います。
つまり、ファイルを操作するためのIDみたいなものです。
ファイルハンドル名を付けてからはこのファイルハンドル名で実行するための指示を出していきます。
ファイルハンドルは大文字で付けるのが慣習になっています。
ファイルを開いたとは閉じなくてはいけませんが、それにはclose関数を使います。
close関数の引数にはファイルハンドルを入れます。 ではファイルにデータを書き込む例を見てみましょう。 では説明を始めます。 モードは「>」だけではないので、ファイルを開くときにはどのモードで開くのかを以下を参考に指定してください。 次にflock関数について説明します。 =>flock関数はファイルをロックする関数です。
ファイルに何かを記録するときに、複数の人が同時に同じファイルに書き込みを行うとファイルが壊れる可能性があるので、ファイルに書き込みを行う前にファイルをロックして、書き込んでいる間は他の人がファイルに書き込んだり読み込んだりを行えないようにすることが必要になります。
そのような時に使うのがflock関数です。ロックの種類は以下の通りですが、この例では書き込みを行っているので読み書き両方を禁止する2を指定してください。
ファイルロックは読み込み専用でファイルを開いている時にはflock関数は使う必要はありません。
つまりロックはしなくてもいいです。 次にファイルに書き込む方法について説明します。 ファイルに書き込みには以下の構文の通りprintを使います。
printの引数にはファイルハンドルと書き込む内容を書きます。
最後にflock関数をノンブロックモードでファイルロックを解除して、ファイルを閉じます。つまり、ロック解除してから、close関数でファイルを閉じます。 結果は以下のようにファイルに書き込まれます。 次は書き込んだ内容を画面に出力します。では解説をしていきます。
=>読込み用で開きますので、「<」を使用します。 =>ここではファイルの内容を読み込みます。
ファイルの内容を読み込むには以下の基本構文を使います。 この例では「<OUT>」です。
「<ファイルハンドル>」はファイルから1行ずつ読み込みを行います。
読み込んだ1行の末尾には改行記号が付いています。
ファイルの内容を出力する方法は3つあります。 そして、すべての内容を取り出したら、ファイルを閉じます。
ファイルを削除するには、unlink関数を使います。
戻り値には、削除したファイルの個数が返ってきます。
複数のファイルを削除するには以下の構文で書きます。
では例をみてみましょう。
戻り値には、削除したファイルの個数が返ってきますので、例えばファイルが存在しないなどの理由で0が返ってきたらFALSEになり、以下のprint文が出力されます。
ファイル名を変更したい場合はrename関数を使います。 成功時には1、失敗時には 0を返します。
では例をみてみましょう。
カテゴリー