package Foo; package A our @ISA = qw{Foo}; package B our @ISA = qw{Foo}; package C our @ISA = qw{Foo}; package Bar; package D our @ISA = qw{Bar} package E our @ISA = qw{Bar} package F our @ISA = qw{Bar} ...