package A; sub foo {}; package B; sub bar {}; package C; use vars qw(@ISA); @ISA = qw(B); sub foo {}; sub isa { return $_[1] eq 'A' or $_[0]->SUPER::isa(@_); } #### package A; sub foo {}; package B; sub bar {}; package C; use vars qw(@ISA); @ISA = qw(A B); #### package C; use vars qw(@ISA); @ISA = qw(B); sub foo {}; sub isa { return $_[1] eq 'A'; }