$counter->lock;
$counter->dec while $counter->value > $DEFAULT_VALUE;
$counter->unlock;
####
sub reset {
my($self,$default) = @_;
$default = $File::CounterFile::DEFAULT_INITIAL
unless defined $default;
if ($self->locked) {
$self->{'value'} = $default;
$self->{updated} = 1;
} else {
$self->lock;
$self->{'value'} = $default;
$self->{updated} = 1;
$self->unlock;
}
$self->{'value'}; # return value
}
####
#!/usr/bin/perl -w
use strict;
use File::CounterFile;
my $COUNTER = '/path/to/bg.cnt';
my $DEFAULT_VALUE = 0;
my @BACKGROUND = qw(
corner.jpg anduin.jpg gandalf.jpg
ford.jpg
);
my $c = File::CounterFile->new( $COUNTER, $DEFAULT_VALUE );
$c->reset if $c->inc > $#BACKGROUND;
print <
EndOfHTML