my $self=ParantClass->new(); #### # in the parent class: sub new { my ($class) = @_; my $self = bless { },$class; # ... return $self; } # in the child class: # if you really need to override the constructor # you can use this: sub new { my ($class) = @_; my $self = $class->SUPER::new(); # call parent constructor # .... return $self; }