OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

ログの一部を消す Perl

  • 暇なときにでも
  • 質問No.156619
  • 閲覧数56
  • ありがとう数1
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 59% (194/328)

ログの一部を消すPerlを考えています。

ここではソースを短くするために、ログの一部を消し去って
ログファイルに上書きするデータは $deta だけだとすると


open F, '+<a.log';
flock F,2;
$deta = <F>;//実際はここでもっと処理
truncate F,0;
seek F,0,0;
print F $deta;
close F;


と、


open IN, 'a.log';
flock IN,2;
open OUT, '>a.log';
flock OUT,2;
$deta = <IN>;//実際はここでもっと処理
print OUT $deta;
close OUT;
close IN;


の2つを考えました。
上のように 読み込み と 書き込み を同時にやった方がいいのか
下のように分けてやった方がいいのか教えてください。

ロックは flock を使って、普通レベルのロックが
できるぐらいでいいと思っているんだけど、
この flock の書き方でおかしいところがあれば
教えてください。
通報する
  • 回答数1
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.1

 何を基準にいいか悪いか決めればいいんでしょうか?(^_^;
 好みの問題だからどっちでもいいと思いますが。
 速度的には前者ですが、あとで見たとき分かりづらいので初心者の方には後者を薦めています。

 ちなみに flock はプラットフォームによって使えないこともあるので、

eval { flock(); };

 としておいた方がいいでしょう(使い方に特に問題はありません)。
お礼コメント
A__

お礼率 59% (194/328)

eval { flock(); }; は知りませんでした。
ありがとうございます。
投稿日時 - 2001-11-01 20:40:57
-PR-
-PR-
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ