package Base ;
sub new {
my $class = shift;
bless {}, $class;
}
sub do {
my $s = shift;
print "hi Base here\n";
}
package One ;
use parent 'Base';
sub do {
my $s = shift;
$s->SUPER::do;
print "hi from pkg one\n";
}
package Two ;
use parent 'One';
sub do {
my $s = shift;
$s->SUPER::do;
print "hi from pkg two\n";
}
package Three ;
use parent 'Two';
sub do {
my $s = shift;
$s->SUPER::do;
print "hi from pkg Three\n";
}
####
my $three = Three->new;
$three->do;
####
hi Base here
hi from pkg one
hi from pkg two
hi from pkg Three