do something(\@myarray,\%myhash,\$mystring); sub do_something { my @localarray = @{shift @_}; my %localhash = %{shift @_}; my $localstring = ${shift @_}; ... }