ファイルを読み込む場合もファイルハンドルで関連付けて行います。
ファイルハンドルを配列に入れると、ファイルの1行が配列の各要素
として代入が行われます。
※ ファイルハンドルについては ファイルへ書き出し の項も参照して下さい。
下の例では test.txt を読み込み、配列 @aaa に入れています。
書式
open (ファイルハンドル, "ファイル名");
@配列 = <ファイルハンドル>;
close (ファイルハンドル); |
例
open (IN,"test.txt");
@aaa = <IN>;
close (IN); |
下のソースでは、 test.txt を読み込み、配列に入れた後、配列の内容を表示しています。
test.txt は 佐藤 竹内 近藤 を改行で区切った3行のテキストファイルです。
配列に入れると配列の各要素に全てが読み込まれますが、 @aaa = <IN>; の部分で
スカラー変数に入れると ($a = <IN>;) 一行のみの読み込みが行われます。
何らかの理由で先頭行のみ、読み込みを行いたい場合はスカラー変数に入れます。
$a = <IN>; と一行読み込んだ後は、<IN> は読み込んだ先頭行が消えています。
例えば下のソースを見て下さい。
$a = <IN>; などして一行読み込むと、その後ファイルハンドルには読み込んだ行を除くもの
が残っていますので、上記の結果は先頭行を除く行が表示されます。
|