#!/usr/bin/env perl use strict; use warnings; use Data::Dumper; use 5.024; use feature 'refaliasing'; no warnings 'experimental::refaliasing'; my %x = ("a" => "red"); my %y = ("b" => "green"); my %z = ("c" => "black"); modfifyHash(\(%x, %y, %z)); say Dumper \(%x, %y, %z); sub modfifyHash { \my (%x, %y, %z) = @_; $x{ "a" } = "circle"; $y{ "b" } = "square"; $z{ "c" } = "rectangle"; } __END__ $VAR1 = { 'a' => 'circle' }; $VAR2 = { 'b' => 'square' }; $VAR3 = { 'c' => 'rectangle' };