##
pacakage AbstractBird;
use SwimmingFlyingThing;
use AbstractClass;
@ISA = 'SimmingFlyingThing';
sub fly { print "Flap Flap Flap" }
##
##
package Duck;
@ISA = 'AbstractBird';
sub swim { print "Paddle paddle paddle" }
sub new { ... }