use strict; use warnings; BEGIN { sub makeNoise { my ($sPackage, $crSub, $sAttribute) = @_; print "NOISY $sAttribute\n"; } } use Monks::AttributeDispatcher Lion => \&makeNoise , Tiger => \&makeNoise , Bear => \&makeNoise , Boom => sub { print "BOOM\n"; } ; sub foo: Boom { print 1; } sub bar : Lion Tiger Bear Boom { print "pling.\n"; }