$hash{a}{b}{c}{d}{e} = 'E'; print getthingy(\%hash, 'a.b.c.d.e'); sub getthingy { my($hash, $key) = @_; $hash = $hash->{$_} foreach(split/\./, $key); $hash; }