If it can't "a3", it's not
@ISA = qw(A). Sounds to me like you've got a mixed-up class design. Maybe both A and B are subclasses of a common ancestor, where you define what is now a1 and a2 there, then let A and B both inherit from that, where A
adds a3, and B defines b1 and b2, and inherits a1 and a2 from the common superclass.
Hard to tell with so much abstraction. Can you give us the specifics?
-- Randal L. Schwartz, Perl hacker