#!/usr/bin/perl use strict; use warnings; use Sem; use Storable qw/lock_store lock_retrieve/; use CGI; my $q = new CGI; my $sem = Sem->new('semaphore.txt'); my $x = lock_retrieve('k.dat') or die "Can't open k.dat: $!"; $x->{counter}++; lock_store($x, 'k.dat') or die "Can't save k.dat: $!"; $sem->unlock; print $q->header;