$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