#----------------------------------------------------------------- # ログファイルの読み込み(@linesに格納) #----------------------------------------------------------------- sub read_log { $lockfile = "lockdir/lock"; $count = 0; while ( !symlink("$$","$lockfile") ) { if ( $count == 5 ) { &error("ただ今アクセスが集中しています。"); } $count++; sleep(2); } if (!open(DB,"$log_file")) { unlink($lockfile); &error("ログファイルが読み出しオープンできません。"); } @lines = <DB>; close(DB); unlink($lockfile); } #----------------------------------------------------------------- # ログファイルの書き出し #----------------------------------------------------------------- sub write_log { $lockfile = "lockdir/lock"; $count = 0; while ( !symlink("$$","$lockfile") ) { if ( $count == 5 ) { &error("ただ今アクセスが集中しています。"); } $count++; sleep(2); } if (!open(DB,">$log_file")) { unlink($lockfile); &error("ログファイルが書き出しオープンできません。"); } print DB @new; close(DB); unlink($lockfile); }