#--------------------------------------------------------------------- # 各種データ変数の初期化 #--------------------------------------------------------------------- sub init { $| = 1; # 書き込みバッファリングをしない $cgi_name = "$script".".cgi"; # CGIファイル名 $log_file = "$path"."$log_name"; # ログファイル名 #---------------------------------------------------------- # 海外サーバ等で時差が生じる場合は修正 # 海外時間に+9時間する場合 = localtime(time + 9*60*60); # 海外時間に−9時間する場合 = localtime(time - 9*60*60); #---------------------------------------------------------- ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); #---------------------------------------------------------- # 時分秒を2桁に統一する処理 #---------------------------------------------------------- if ($sec < 10) { $sec = "0$sec"; } if ($min < 10) { $min = "0$min"; } if ($hour < 10) { $hour = "0$hour"; } #---------------------------------------------------------- # 上記の$monには0から11までの数字が入るので修正処理 #---------------------------------------------------------- $month = ($mon + 1); #---------------------------------------------------------- # 曜日変換処理 # $wdayには0から6までの数字が入り曜日に対応している #---------------------------------------------------------- $y0="日"; $y1="月"; $y2="火"; $y3="水"; $y4="木"; $y5="金"; $y6="土"; $youbi = ($y0,$y1,$y2,$y3,$y4,$y5,$y6) [$wday]; #---------------------------------------------------------- # 時刻フォーマット #---------------------------------------------------------- $date_now = "$month月$mday日($youbi)$hour時$min分$sec秒"; } #----------------------------------------------------------------- # ログファイルの読み込み(@linesに格納) #----------------------------------------------------------------- sub read_log { if (!open(DB,"$log_file")) { &error("ログファイルが読み出しオープンできません。"); } eval {flock( DB, 1 );}; # 読み込みロック開始 @lines = <DB>; eval {flock( DB, 8 );}; # ロック解除 close(DB); } #----------------------------------------------------------------- # ログファイルの書き出し #----------------------------------------------------------------- sub write_log { if (!open(DB,">$log_file")) { &error("ログファイルが書き出しオープンできません。"); } eval {flock( DB, 2 );}; # 書き込みロック開始 print DB @new; eval {flock( DB, 8 );}; # ロック解除 close(DB); }