ファイルの末尾に追記したい場合、何もファイルの現在の中身を全部読み込んだりしなくても、簡単に追加分だけを書き込むことができます。
にしし ふぁくとりー

にししの Perl/CGI Tips ふぁくとりー

にししふぁくとりーPerl/CGI Tips → このページ

ファイル操作TIPS

ファイルに追記するには?

ファイルの中身を配列に全部読み込んで、末尾に数行加えて、全部を書き込む…という処理は、無駄が多いですね。 読み込むメモリも無駄ですし、読み込む時間も無駄です。 末尾に追記するだけなら、読み込まなくても、追記モードで書き込めばそれで済みます。 ログファイルなどの記録に便利です。

SOURCE 1

追記の方法はとても簡単で、追記モードでファイルをオープンすれば良いだけです。
open(OUT,">> $filename") || die('ファイルを追記モードで開けませんでした。');
$msg = "追記したい内容";
print OUT $msg;
close(OUT);
追記モードでファイルを開くには、ファイル名の先頭に「 >> 」と加えるだけです。非常に簡単ですね。
ちなみに「 > 」と1つだけしか付けなかったら、追記ではなく通常の書き込みになります。(通常の書き込みモードだと、現在のファイルの中身は全部消えます。)
上記のソースでは、2行目で追記内容を変数 $msg に格納し、3行目でファイルに書き込んでいます。4行目でファイルをクローズしています。

SAMPLE SOURCE

ソースコード15 , 出力結果15 , サンプルテキスト15
2004/03/03. Wed.

このページに記載の内容は、必ずしも正しいとは限りません。ご注意下さい。
もっと良い方法がありましたら、ぜひ、教えて頂けるとありがたいです。
製作者にししへのご連絡は、メールなどでお送り下さい。匿名のコメントも送信できます。
どのページへもリンクは歓迎します。複製・転載はご遠慮下さい。