use strict; use warnings; my %list=("bob" =>123, "tom" => "CAT"); #Assign values change (%list); sub change{ my %A = shift @_; #Get Values foreach (keys %A){ print "$_ = $A{$_}\n"; \$A{$_} .= "hello"; #Change Values } } foreach (keys %list){ print "$_ = $list{$_}";#Print New Values }