How NEXT can help
package Base; use NEXT; sub new { my ($class) = @_; return {}, $class; } sub methodA { my ($self) = @_; $self->NEXT::methodA(); print 'Hello from base' . "\n"; } package ChildA; use NEXT; use base 'Base'; sub methodA { my ($self) = @_; $self->NEXT::methodA(); print 'Hello from childA' . "\n"; } package ChildB; use NEXT; use base 'Base'; sub methodA { my ($self) = @_; $self->NEXT::methodA(); print 'Hello from childB' . "\n"; } package ChildC; use NEXT; use base qw(ChildA ChildB); sub methodA { my ($self) = @_; $self->NEXT::methodA(); print 'Hello from childC' . "\n"; } package main; my $child = ChildC->new; $child->methodA();continued...