use warnings; use strict; package Foo::Bar; our $crHandler = sub { print "$_[0]: default handler called.\n"; }; sub doA1 { print "Doing A1 for $_[1]\n"; &$crHandler('A1'); } sub doB1 { print "Doing B1 for $_[1]\n"; &$crHandler('B1'); } sub doA2 { print "Doing A2 for $_[1]\n"; &$crHandler('A2'); } sub doB2 { print "Doing B2 for $_[1]\n"; &$crHandler('B2'); }