One can't store a hash in a hash since the values of hash elements are scalars, but one can store a reference to a hash. (Same goes for storing arrays and storing into arrays.)
my %one = (
name => 'a',
address => 'b',
);
my %two = (
testval => 'hello',
newval => 'bye',
);
$one{location} = \%two;
is the same as
my %one = (
name => 'a',
address => 'b',
location => {
testval => 'hello',
newval => 'bye',
},
);