ファイルの操作



ファイルのオープン/クローズ

読み込み専用open
構文:open (ファイルハンドル, "ファイル名")
働き:ファイルを読み込み専用として開きます。
例:
open (FILE, "file\.txt");
* ファイルハンドルは、システムへ命令を渡すためのもので、慣習的に大文字で書きます。MYFILE, HANDLEなど好きな名前を付けられます。

書き込み専用オープン
構文:open(ファイルハンドル, "> ファイル名")
働き:ファイルを書き込み専用として開きます。

ファイルハンドルのクローズ
構文:close ファイルハンドル
* 同じファイルを何度もオープンしない限り、明示的にファイルをクローズしなくても動作しますが、念のためファイル処理後はクローズするようにして下さい。

die関数
構文:die "メッセージ $!"
働き:openが失敗したとき(ファイルが存在しない、など)die関数を使うと、エラーメッセージを表示できます。$!にはエラーメッセージが自動的に格納されます。これは以下の例のように記述します。
例:
open (FILE, "a\.txt") || die "Can't open a\.txt: $!";
open失敗時の出力例:Can't open a.txt: No such file or directory.


ファイルの内容を配列に読み込む
--
#!/usr/local/bin/perl

#ファイル名はスカラー変数で定義しておくと後で書き換えやすい。
$file = "wowcat\.txt";
open(FILE, $file) || die "Can't open $file: $!\n";
while (<FILE>) {
  chomp $_; #chompは、文字列の最後が改行だった場合、それを取り除きます。
  push(@array, $_); #$_はファイルから読み込んでいる行の内容を保持している特殊な変数
}
close FILE;

foreach $yoso (@array) {
  print $yoso, "\n";
}

exit (0);
--
* ファイルは改行までをひとまとめにして$_に読み込まれます。