in reply to Array of hashes of values AND Arrays of Hashes

Something like:
$array[1]->{Contact} = []; %hash = ( Contact_Tel => '1234', Contact_Name => 'Mr. Bean'); push @{$array[1]->{Contact}}, \%hash;
$array[1]->{Contact} contains the reference to an empty array.
Since push requires a 'real' array as its first argument, you have to dereference the reference in $array[1]->{Contact}.
You do this with @{...}.

See: here and here for more.