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();
Hello from base
Hello from childB
Hello from base
Hello from childA
Hello from childC