package Child; use base qw(Parent); sub new { my $class = shift; my $self = $class->SUPER::new(); # call superclass' constructor with provided classname $self->do_child_specific_stuff(); return $self; } #### # ... my $self = $class->SUPER::new(); bless $self,$class; # re-bless to right classname $self->do_child_specific_stuff(); # ...