#!/usr/local/bin/perl # # Script that increments and returns a counter stored # in a file on the host. # # copyright 1996 by bo larsson # all rights reserved # # bugs or feedback to bliss@seagull.net print "Content-Type: text/html\n\n"; # split out arguments $Arguments = $ENV{'QUERY_STRING'}; (@fields) = split(/[&]/,$Arguments); foreach (@fields) { ($key, $value) = split(/[=]/); $argtable{$key} = $value; } $ret = 0; $counterfile = "./gscntrf"; if (defined($argtable{'A'})) { $counterfile = "$counterfile.$argtable{'A'}"; } if ( -e $counterfile) { open(COUNTERFILE, "+<$counterfile"); flock(COUNTERFILE, 2); read(COUNTERFILE,$ret,16); $ret++; print $ret; seek(COUNTERFILE, 0, 0); print COUNTERFILE $ret; flock(COUNTERFILE, 8); close(COUNTERFILE); } else { $ret++; open(COUNTERFILE, ">$counterfile"); flock(COUNTERFILE, 2); seek(COUNTERFILE, 0, 0); print COUNTERFILE $ret; print $ret; flock(COUNTERFILE, 8); close(COUNTERFILE); } ##########################################################