package A; sub foo { print "this is from class A\n"; } package B; use base 'A'; sub foo { print "this is from class B\n"; } sub bar { print "this is from class B, too\n"; } package C; use base 'A'; sub bar { print "Finally, this is from class C.\n"; }