#!/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";