package Foo; print "Example 1\n"; sub on  { print "on $_[0]\n" } sub run { print "run $_[0]\n" } on foo => run { print "foo!\n" }; package Bar; print "Example 2\n"; sub on ($@)  { print "on $_[0]\n" } sub run (&@) { print "run $_[0]\n" } on foo => run { print "foo!\n" };