mysubclass->new({ myclass => { value = 23 }}); #### package myclass; use Class::Std; my %value :ATTR( :name :default(1)); 1; #### package mysubclass; use base qw(myclass); sub START { my ($self, $ident, $arg_ref) = @_; $self->set_value(123) if !defined $arg_ref->{value}; } 1;