トップ > Perl Tips > ファイルの読み書き


 ■ ファイルの読み書き

サーバー上のファイルの読み書きをやります。

用語の説明
・ファイルハンドル
ファイルの読み書きに使われます。
今どのファイルを処理しているか、管理するための名前のことです。
どのような名前を付けてもらってもかまいませんが、
一般的には 英字・大文字 で表されます。

<読む>
(file.txt というデータファイル名です。)


open(IN, "file.txt");
@xx = <IN>;
foreach $yy (@xx) {
print $yy;
}
close(IN);

これでデータファイルのすべての行が表示されました。
open(ファイルハンドル名, "ファイル名");
でファイルを開き、
@xx = <ファイルハンドル名>;
でデータを(配列)変数 xx に代入して、
foreach $yy (@xx)
は、配列の各要素を $yy に代入しながら処理を行います。
よってすべての行が処理され、表示されるわけです。
close(ファイルハンドル名);
でファイルを閉じます。


<書く>


open(OUT, "> file.txt");
print OUT "データ";
close(OUT);

「データ」という内容がファイルに書き込まれました。

open(ファイルハンドル名, "> ファイル名");
これで開くのですが、書き込みモードで開きます。
ファイル名の前に > を付けると書き込みモードになります。
print ファイルハンドル名 "書き込む内容";
で書き込みます。
close(ファイルハンドル名);
でファイルを閉じます。

今の > の部分ですが、ほかにも変えることによっていろいろなモードで開くことができます。

>> 追加書き込みモード(ファイルの最後尾から書き込む)
+> 読み書きモード(オープン時ファイルを空にする)
+< 読み書きモード(オープン時ファイルはそのまま)

用途によって使い分けてください。

応用編:簡単な掲示板を作ろう!




トラックバック

このエントリーのトラックバックURL:
http://easycgi.xrea.jp/mt-tb.cgi/34