sub testit{ print 'hi' }
sub doit (&) { $_[0]->() }
$codeRef = \&testit;
doit { &$codeRef };
####
#!/usr/bin/perl
use Carp qw(cluck);
sub testit{ cluck 'hi',$/ };;
sub doit (&) { print $_[0],$/;$_[0]->() };;
$codeRef = \&testit;;
doit { &$codeRef };
__END__
CODE(0x955737c)
hi
at coderef.pl line 3
main::testit called at coderef.pl line 6
main::__ANON__() called at coderef.pl line 4
main::doit('CODE(0x955737c)') called at coderef.pl line 6
####
#!/usr/bin/perl
use Carp qw(cluck);
sub testit{ cluck 'hi',$/ };;
sub doit (&) { print $_[0],$/;$_[0]->() };;
$codeRef = \&testit;;
doit \&{ $codeRef };
__END__
CODE(0x9f4c11c)
hi
at coderef.pl line 3
main::testit() called at coderef.pl line 4
main::doit('CODE(0x9f4c11c)') called at coderef.pl line 6