アクセスカウンターのCGI
アクセスカウンターとは、「あなたは○○人目の訪問者です」
などと表示するプログラムで、SSIによって実行する。

その仕組みは、HTMLからexecによりカウンタープログラムが実行され、
過去に何人訪れたか数字が保存されたファイルを読み込みモードで開き、
数字を読み込み、ファイルを閉じる。
読み込んだ数字に1を追加し、その数字のファイルへの書き込みとHTMLへの表示を行う。


1.アクセスカウンターのCGIプログラム(count.cgi)作成

いつものようにPerlで書かれたプログラムであることを宣言する。

#!/usr/local/bin/perl

今まで何人の訪問者があったか保存してあるファイル(count.log)を読込みモードで開き、
このファイルには数字が1つ1行に保存してあるので、
1行だけ読込み、変数$countに数字を代入する。
読込みが終わったらファイルを閉じる。

open(IN,"count.log");
$count = <IN>;
close(IN);

訪問者の人数($count)を1増やす。これで現在の訪問者数になった。

$count++;

count.logを今度は書き込みモードで開き、
現在の訪問者数を更新する。更新後はファイルを閉じる。

open(OUT,">count.log");
print OUT $count;
close(OUT);

現在の訪問者数$countをこのプログラムを呼び出したHTMLへ送り返す。

print "Content-type: text/plain\n\n";
print "$count";

Content-type: text/plain
これ以降を普通の文(数字)として表示することを示す文になる。