#!/usr/local/bin/perl
use strict;
use warnings;
print "Content-type: text/html; charset=utf-8\n\n";
print "\n";
print "\n";
print "
\n";
print "CGI test\n";
print "\n";
print "\n";
print "------------------
\n";
my $logfile = "./counter.txt"; #counter.txtが予め必要。自動作成しない。
my $count;
open(OUT, "+<$logfile"); # 読み書きモードで開く
flock(OUT, 2); # ロック確認。ロック
chomp($count = ); #行末の改行文字を削除する
$count++;
seek(OUT, 0, 0); # ファイルポインタを先頭にセット
print OUT "$count\n"; # 書き込む
truncate(OUT, tell(OUT)); # ファイルサイズを書き込んだサイズにする
close(OUT); # closeすれば自動でロック解除
#※truncateはアクセスカウンター等でサイズが増えても減ることはない場合には、truncateは必要ないです。
#※以下を追加すると、カウンターがグラフィック表示される
#---------------------------------------------
my $disp_len = 5; # 表示桁数
# 指定桁数より大きければ0を補い表示
my $cnt_len = length("$count"); #桁数を求める
if ($cnt_len < $disp_len){
my $add_cnt = $disp_len - $cnt_len;
for( my $i=0 ; $i<$add_cnt ; $i++){
print "";
}
}
# カウント値を表示
my $now_img;
for(my $j=0 ; $j<$cnt_len ; $j++ ){
$now_img=substr($count,$j,1);
$now_img = 'number5_'.$now_img;
print "";
}
print "
\n";
print "------------------
\n";
print "\n";
print "\n";