#---------------------------------------------------------------------
# 各種データ変数の初期化
#---------------------------------------------------------------------
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);
}