CGIカウンタプログラム(cgi_counter.cgi)は以下のようになります。カウンタプログラムからの変更は太字で示してあります。
#!/usr/local/bin/perl # ファイルcountdataをファイルハンドルCOUNTでオープン # オープンできないときにはエラーメッセージを表示して強制終了 open (COUNT, "+<countdata") || die "File 'countdata' Open Error."; # ファイルのロック flock (COUNT,2); # 変数$counterにファイルハンドルCOUNTから1行読み込み $counter = <COUNT>; # カウントアップ $counter = $counter + 1; # ファイルポインタを先頭に戻す seek (COUNT, 0, 0); # ファイルハンドルCOUNTに出力(書き込み) print COUNT $counter; # ファイルのロック解除 flock (COUNT,8); # ファイルのクローズ close (COUNT); # HTML ヘッダー print "Content-type: text/html\n\n"; print <<"EOM"; <html> <head> <META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=Shift_JIS"> </head> <body> EOM # カウンタの値を表示 print $counter; # HTML フッター print "</body>\n</html>\n";