my %Point = ('E' => [0,1,2], 'ID' => 'X30Y30VX11VY15E15'); &SomeRoutine(\%Point); sub SomeRoutine { $P = shift; $id = $$P{'ID'}; @e = $@{$P{'E'}};