- ベストアンサー
perl 特定の文字列をdatファイルから抽出したいです。
ホームページ上の日記を作成中です。 わからないことがあったのでお助けください。 たとえば、nikki.cgiファイルの中に、 20030426Sat という文字列が格納されている変数$valueが 存在したとします。 その変数$valueの値を使用して、CGIファイルは、 nikki.datの中から、その 20030426Satが含まれている一行を探し出そうとするという作りにしたいと思っています。 nikki.datの構成は、 一日ごとのコンテンツを改行コードで区切ることにします。 一行分の内容は、 例えば、 20030426Sat,17:32,今日はいい天気だった というように、日付、時間、日記本文というようにしたいと思っています。 長くなりましたが、この日付の文字列をnikki.datファイルの中から見つけ出して、その一行分を抽出するには、どのような関数を使えばよいのでしょうか? また、nikki.datファイルに日記を書き込む処理を別途させなくてはならないので、ちょっと私の考えは非効率かと思っていたりします。 日記作製の際のCGIの効率的な利用方法をご存知でしたら教えてください。 一応カレンダーは完成しています。カレンダーをクリックするとその日の日記が表示されるという仕組みです。 アドバイスをお願いします。
お礼
ありがとうございます。 もう二点尋ねさせてください。 配列に関してですが、whileの中に入っている@dates配列はループするごとに上書きされていると 考えて宜しいでしょうか? $match=true というのはif文の中で使うと思うのですが、 どのように使えばいいのでしょう? $valueと一致する行がない場合、 「その日の日記はありません」 というデータを表示したいので、errorを送り返すようにしたいと思っています。 if( $datas[0] eq $value){ $match=true; last; } と、上記のような具合であとは、 $matchがfalseの場合は、errorメッセージを別途作成すればよいかなと思っています。