package parent; sub new { my $class = shift; my ($setup_data) = @_; my $self = {}; bless $self, $class; $self->_SetupData($setup_data); return $self; } package child; use base qw(parent); sub new { my $class = shift; my ($setup_data) = @_; my $self = $class->SUPER::new($setup_data); return $self; }