my %x = ("a" => "red"); my %y = ("b" => "green"); my %z = ("c" => "black"); my ($ref1, $ref2, $ref3) = &modfifyHash(\%x, \%y, \%z); %x = %{ $ref1 }; %y = %{ $ref2 }; %z = %{ $ref3 }; sub modfifyHash { my ($ref1, $ref2, $ref3) = @_; my %x = %{ $ref1 }; my %y = %{ $ref2 }; my %z = %{ $ref3 }; $x{ "a" } = "circle"; $y{ "b" } = "square"; $z{ "c" } = "rectangle"; return(\%x, \%y, \%z) } #### my %x = ("a" => "red"); my %y = ("b" => "green"); my %z = ("c" => "black"); (%x, %y, %z) = %{ &modfifyHash(\%x, \%y, \%z) }; sub modfifyHash { my (%x, %y, %z) = %{ @_ }; $x{ "a" } = "circle"; $y{ "b" } = "square"; $z{ "c" } = "rectangle"; return(\%x, \%y, \%z) } #### my %x = ("a" => "red"); my %y = ("b" => "green"); my %z = ("c" => "black"); (%x, %y, %z) = map %{ $_ }, &modfifyHash(\%x, \%y, \%z); sub modfifyHash { my (%x, %y, %z) = map %{ $_ }, @_; $x{ "a" } = "circle"; $y{ "b" } = "square"; $z{ "c" } = "rectangle"; return(\%x, \%y, \%z) }