use strict; use warnings; use Data::Dumper; my $obj = bless {}, 'Foo'; my $action = sub { print Dumper( \@_ ) }; $obj->$action( 'hello' ); __END__ $VAR1 = [ bless( {}, 'Foo' ), 'hello' ]; #### { @_ = ( $obj, @args ); # rest of 'sub' goes here }