#!/usr/bin/perl -Tw # [MJS 25 Sep 2001] A safe web-counter example. # # $Id: example-webpage-counter,v 1.1 2003/05/02 11:36:25 suter Exp $ use strict; use Fcntl qw(:DEFAULT :flock); # Location of data file. my $counter = "/tmp/full-path-to-datafile-for-counter"; sysopen(FH, $counter, O_RDWR | O_CREAT) or die "can't open $counter: $!"; my $ofh = select(FH); $| = 1; select($ofh); flock(FH, LOCK_EX) or die "can't write-lock $counter: $!"; my $number = || 0; seek(FH, 0, 0) or die "can't rewind $counter : $!"; print FH $number + 1, "\n" or die "can't write $counter: $!"; truncate(FH, tell(FH)) or die "can't truncate $counter: $!"; close(FH) or die "can't close $counter: $!"; print "Content-Type: text/html\n\n$number";