use strict; use warnings; use Data::Dump::Streamer; my %devinfo = (1 => {a => 'apple', b => 'orange'}); my %datahash = (devinfo => {}); %{$datahash{"devinfo"}} = %devinfo; Dump (\%devinfo, \%datahash, $datahash{devinfo}); #### $HASH1 = { 1 => { a => 'apple', b => 'orange' } }; $HASH2 = { devinfo => 'A: $HASH3' }; $HASH3 = { 1 => $HASH1->{1} }; alias_hv(%$HASH2, 'devinfo', $HASH3);