package Superclass; sub foo { print "Superclass::foo( @_ )\n" } sub bar { print "Superclass::bar( @_ )\n" } package Subclass; use base 'Superclass'; sub bar { print "Subclass::bar( @_ )\n" } package main; Subclass->foo; #Superclass::foo( Subclass ) Subclass->bar; #Subclass::bar( Subclass )