use Carp; #... sub attribute { my $self=shift; my $attr=shift; # teste ob die variable im Objekt existiert if(exists($self->{$attr})) { my $val=$self->{$attr}; # setze neuen Wert wenn angeben $self->{$attr}=shift() if(@_); return $val; } carp(qq(Attribute "$attr" not part of ).__PACKAGE__."!\n"); return undef; } # get-setter: sub id { shift->attribute('id',@_); } sub value { shift->attribute('value',@_); }