$\ = "\n"; sub foo { print @_ } my $ref = \&foo; sub { @_=('$ref->(@_)'); $ref->(@_); }->(); sub { @_=('foo(@_)'); foo(@_); }->(); sub { @_=('goto $ref'); goto $ref; }->(); sub { @_=('goto &$ref'); goto &$ref; }->();