新規記事投稿 フォロー記事投稿 記事のキャンセル
From: にあ <nir@mxa.meshnet.or.jp>
Subject: Re: [perl]データの削除、変更について
Date: 1997/01/14 06:46:17
Reference: mesh.program/00155

1月13日に、マーフィーさんは書きました。

>削除する場合は、その日付(仮に$dateとする)に相当する記事を削除すれば
>いいですよね、これを編集したいときはどうするんでしょうか?
>
元々がフォームから入力されたテキストなら、編集もフォームで出来るので簡単ですね。
例えば、此処の会議室でフォローアップ記事を書く時には、既に入力されている記事を
ファイルからフォームに読み込んで、それを編集しているわけです。

此処では違うファイル名で書き込んで、フォロー記事としていますが、同じファイルに
書き戻せばファイルの編集となるわけですね。(^^)

個々のデータの扱いですが、此処みたいに一つの記事が一つのファイルになっている
場合には難しいところは全然ありませんよね。生にファイルの更新日時を使って分類するか、
別に作っておく目次ファイルにファイルの情報を記録して置いてそれを使うか(此処で
やっているのはこれです)まあ、そんなところでしょう。

データを大きなひと塊のファイルにしておいて、それを更新する場合は多少面倒でしょうね。
データの切れ目が分かるようにセパレータを入れるか、index に行を記録しておくか。
セパレータを入れる方が柔軟性はありますが、スキャンしないと場所が分からない欠点は
ありますね。

HTMLデータを生に参照させる場合には、各種の制御情報はコメント文の中に埋め込めば
良いでしょう。此処でもテキスト部分のセパレータにコメントを使っています。

全体のデータがさほど大きくない場合には全てメモリ(配列)に読み込んでしまって
扱えるので楽です。大きい場合はファイルを複数開けて、コピーしながら処理を行なう
事になるでしょう。

生にHTMLで書かないで必ずCGIを通して処理するなら、perl自体がサポートしてる
(こともある)データベースアクセス機構を使うとエレガントにまとまるかもしれません。