package A; # much base code which Does The Right Thing based on subclass type # thru ref($self) inspection 1; package B1; use base(qw(A)); # no code here 1; package B2; use base(qw(A)); # no code here 1; package B3; use base(qw(A)); # no code here 1; etc