%hap=( 'foo' => "hip", 'bar' => [ 2, "blah", ], ); hum(\%hap); print "$hap{foo} $hap{bar}[0] $hap{bar}[1]\n"; sub hum { local *hash=$_[0]; local *array=$hash{bar}; print "$hash{foo} $array[0] $array[1] / @array\n"; # print "$hash{foo} @array\n"; $hash{foo}="gaa"; $array[1]=5; }