package testPackage5; use base qw(testPackage3 testPackage4); sub new(){ my $class = shift; $class = ref($class) || $class; my $self = {}; $self->{constructor_history} .= __PACKAGE__; bless $self, $class; } sub _init_self { my($self,$class,$args)=@_; $self->{init_self_history} .= __PACKAGE__; return unless $class eq __PACKAGE__; # to prevent subclasses from re-running this } 1;