sub myfunc { my $what = shift; print "<$what> (@_)\n"; } my $myfunc_dog = sub { myfunc("dog",@_) }; my $myfunc_cat = sub { myfunc("cat",@_) }; $myfunc_dog->("woof"); $myfunc_cat->("meow");