package Counter;
use strict;
use warnings;
require Exporter;
our @ISA = qw(Exporter);
sub new {
my ($package, $startvalue, $increment) = @_;
$startvalue = 0 unless defined $startvalue;
$increment = 1 unless defined $increment;
my $self = bless {
value => $startvalue,
incr => $increment
}, $package;
return $self;
}
sub inc {
my ($self) = @_;
return $self->{value} += $self->{incr};
}
sub dec {
my ($self) = @_;
return $self->{value} -= $self->{incr};
}
sub val {
my ($self) = @_;
return $self->{value};
}
1;
|