package A; sub new { # .. } sub _init { ... } 1; package B; use base qw/A/; use NEXT; sub new { # .. } sub _init { my $self = shift; $self->NEXT::_init( @_ ); # ... } 1;