【Perl】ファイルロック(排他処理)について語ろうat PHP【Perl】ファイルロック(排他処理)について語ろう - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト255: ◆JAPH9PWA 02/08/07 10:19 >>254 そういえばそうだ。肝心な所が抜けててごめん。 >>253 追記 とりあえず、代入演算子は比較的優先順位が低くなってるんだよ。 例えば、算術演算子や比較演算子などは全て代入演算子より優先度が高い。 だからこそ $foo = 100 + 200; という式が ($foo = 100) + 200; ではなく、$foo = (100 + 200);と評価される。 で、||や&&といった演算子は代入演算子よりも優先順位が高いため、 加算演算子と同様の評価順序になるってわけ。 しかしながら、orやandといった演算子の優先順位は代入演算子のそれより低いので、 このケースの場合は期待通りに動くわけだね。 詳細についてはついてはperldoc perlopを参照のこと。 256: ◆JAPH9PWA 02/08/07 10:21 ていうかここはファイルロックスレじゃないか! スレ違いもいいとこだね。とほほ… 257:228 02/08/10 00:33 おかげであれからログが消えてません open(LOG,"+<$log") || &error('ファイルエラー'); flock(LOG, 2) or &error('ロックエラー'); my @lines = <LOG> or &error('読み込みエラー'); ~~~更新処理~~~ seek(LOG, 0, 0); print LOG @lines; truncate(LOG, tell(LOG)); close (LOG); こんな感じです やっぱり同時刻に書き込みが集中した時に消えるようなので KENT式mkdirロックを少し改造したものをあわせて使ってます そのまま使うとエラーでロックを外した瞬間に書き込みが重なってしまうようなので・・・ ありがとうございました 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch