データの保存カウンターの動く仕組み(アルゴリズム)ホームページを作っていて、やはり最初に気になるのが、毎日どれくらいの人がきてくれているか、ということだと思います。そこで大抵の人がカウンターをつけているわけですが、このカウンターもWebプログラムを使わないと実現できない機能の一つです。CGI用Perlプログラムを配布しているサイトでも、様々なカウンターのプログラムがありますが、基本的な仕組みは至って簡単です。プログラムの動く流れを示してみました。1.CGI起動2.現在のカウント数の読み込み(別のファイルから)3.現在のカウントに1を追加4.追加されたカウント情報をファイルに保存5.カウント情報をHTMLで表示この「5.カウント情報をHTMLで表示」という部分がテキストになっていたり、画像になっていたりするわけで、基本的な構造は「ほぼ」同じはずです。簡単なカウンタープログラムを書いてみましょう。__END__*左端の番号は便宜的に付けた行番号です。いうファイルに保存します。作って同じフォルダに保存します。」というような数字が表示されます。いつものように解説をしようと思います。これはもう説明不要ですね。サーバーのPerlプログラム本体までのパスですね。#!/usr/local/bin/perl最初にすることは、カウンターの数字が記録されているファイルを開くことです。現在のカウンターの数がいくつなのかは、ファイル「count.dat」を別に作成してそこに記録しておく必要があるのです。count.dat」を開いてデータを取り込む命令です。このデータを、「ファイルハンドル」と呼ばれる特別な変数に関連付けるのがこの命令なのです。いう名前で扱うことができるようになります。説明がややこしいですね。いう変数に入れたと思ってもらっても間違いないと思います。このファイルハンドルは何でもかまいません。判りやすければなんでもOKです。ちなみに、最初にも書きましたが、「count.dat」というのは現在のカウント数だけが入った1行だけのファイルです。いう変数に代入します。最後に「close(IN);」で開いたファイルを閉じます。次にすることは、ひとつだけですよね。それが次の行の処理になりますね。書いてもOKですよね。これで、自分が訪問した回数も含めた現在のカウント数の計算ができました。後は、これを表示するだけなのですが、、、その前にその現在のカウント数を保存しておく必要があります。それが次の行の処理です。使ってファイルにデータの保存をするのですが、ちょっと違うことがあります。ファイル名の指定の前に「>」がついていますよね。命令が書き込みモード(上書き)で開いているということを示しています。