- ベストアンサー
ログファイルの中から1行だけ削除。
cgiを使用してファイルの削除を行いたいのですが、***.htmlなどファイル単位で指定するものは できたのですが、logファイルの中にある、任意の1行だけを削除したい場合はどうしたらいいのでしょうか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
Perlではファイル内の位置を指定することが出来ません。 一度、配列にデータを入れてからその行の配列のみを削除して, その削除後の配列をもう一度ファイルに保存します。
その他の回答 (3)
- wolfwood
- ベストアンサー率50% (199/398)
回答No.4
>こんなことしたら、メモリ不足になってしまいますよ。 データ量が多い場合はそうですね。 ただ、Perlでのファイルデータ操作の一般的な方法として説明しました。 掲示板などはこの方法を用いています。 データ量が多い場合はファイルの分割やデータベースの活用などの対策を講じた方が良いですね。
- xjd
- ベストアンサー率63% (1021/1612)
回答No.3
>ログファイルの中身全部を配列 こんなことしたら、メモリ不足になってしまいますよ。 (ログファイルの大きさにもよるけど)
- wolfwood
- ベストアンサー率50% (199/398)
回答No.2
>ログファイルの中身全部を配列に。→その中から任意のものだけ削除→削除された後の残ったデータをログファイルへ戻す(上書き) その通りです。
お礼
回答ありがとうございます。 ログファイルの中身全部を配列に。→その中から任意のものだけ削除→削除された後の残ったデータをログファイルへ戻す(上書き) というような流れでしょうか?