package MyClass; sub new { my ($class, %args) = @_; return bless \%args => $class; } sub add { my ($self, %args) = @_; while (my ($k, $v) = each %args) { $self->{$k} = $v; } return $self; } sub greet {} package main; my $obj = MyClass->new(message => "Guten Morgen", nachname => "Wall", vorname => "Larry"); $obj->add(bla => 'blubb', foo => 'bar'); use DDP; p $obj; __END__ MyClass { public methods (3) : add, greet, new private methods (0) internals: { bla "blubb", foo "bar", message "Guten Morgen", nachname "Wall", vorname "Larry" } }