package Foo; sub shared { print "Shared method" } sub foozle { print "Foo's foozle" } package Bar; sub foozle { print "Bar's foozle" } package Blip; sub foozle { print "Blip's foozle" } package FooBar; @ISA = qw( Bar Foo ); package FooBlip; @ISA = qw( Blip Foo ); #### package main; $package = 'Foo'; $package->shared(); $package->foozle(); # Calls Foo's foozle $package = 'FooBar'; $package->shared(); $package->foozle(); # Calls Bar's foozle