Ein Modul als Objekt-Klasse

 [Vorheriges Kapitel]  [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]

Counter.pm
package Counter;

require Exporter;
@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) = @_;
   $self->{value} += $self->{incr};
   return $self;
}

sub dec {
   my ($self) = @_;
   $self->{value} -= $self->{incr};
   return $self;
}

sub val {
   my ($self) = @_;
   return $self->{value};
}

1;

 [Vorheriges Kapitel]  [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]
Copyright © 1996, 1998, 1999, 2000 Andreas Borchert, in HTML konvertiert am 07.02.2000