# functionally speaking, this.... %hash = ('a' => 1, 'b' => 2, 'c' => 3); myfunc(%hash); # is the same as this... myfunc('a', 1, 'b', 2, 'c', 3); #### $scalar = 'blue'; %hash = ('a' => 1, 'b' => 2); myfunc($scalar, %hash); sub myfunc { my $scalar = shift; my %hash = @_; print $hash{'a'}; } #### %hash = ('a' => 1, 'b' => 2); $scalar = 'blue'; myfunc(\%hash, $scalar); sub myfunc { my($hashref,$scalar) = @_; print $hashref->{'a'}; }