package DecoratorHistory; use strict; use vars '$AUTOLOAD'; sub new { my ($class, @args) = @_; my $self = bless {}, ref($class) || $class; $self->_init(@args); return $self; } sub _init { my ($self, @args) = @_; $self->{_object} = shift @args; } sub AUTOLOAD { my ($self, @args) = @_; my $function = $AUTOLOAD; $function =~ s/^(.*::)//; return if ($function eq 'DESTROY'); # - - my $o = "$self->{_object}->$function"; my $r = $o->( @args ); ###### <- klappt nicht... # - add extra behaviour - if ($function eq 'update') { # eigene weitere Aktionen... } # if return $r; } 1;