my %hash; populate_hash(%hash); sub populate_hash{ my %h = @_; # Makes a COPY of the paramter %h= (k1=>'v1', k2=>'v2); # Populates the LOCAL %h, not '%hash' }