訪問回数(クッキー, $ENV{'HTTP_COOKIE'}, Set-Cookie)
#! /usr/local/bin/perl
$COOKIENAME = "count"; # クッキー名
$COOKIELIFE = 30; # クッキー保存日数
$count = 0;
# クッキーデータ取り込み
foreach $pair (split(/;\s*/, $ENV{'HTTP_COOKIE'})) {
my ($name, $cookie) = split(/=/, $pair);
if($name eq $COOKIENAME) {
$count = $cookie;
last;
}
}
# クッキーデータ作成
$count++; # 訪問回数+1
@mon = qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec);
@wdy = qw(Sun Mon Tue Wed Thu Fri Sat);
$life = $COOKIELIFE * 24 * 60 * 60;
($sec, $min, $hour, $day, $mon, $year, $wday) = gmtime(time + $life);
$expires = sprintf("%s, %02d-%s-%04d %02d:%02d:%02d GMT",
$wdy[$wday], $day, $mon[$mon], $year + 1900, $hour, $min, $sec);
# HTML出力
print "Content-type: text/html\n";
print "Set-Cookie: $COOKIENAME=$count; expires=$expires;\n\n"; # クッキー保存
print "<html>\n";
print "<head>\n";
print "<title>訪問回数</title>\n";
print "</head>\n";
print "<body>\n";
print " $count 回目の訪問です<br>\n";
print "</body>\n";
print "</html>\n";
exit;
〔 実行する 〕