bless {foo => 'bar', options => {anoption => 1, anotheroption => 'foo', option3 => 'barbar'}, bar => 'maz'}, $class; #### sub option { my $self = shift; if (scalar @_ == 1) { return $self->{options}->{shift()}; } else { my ($key, $value) = @_; $self->{options}->{$key} = $value; } }