$data->{object_addr} = { K1 => V1, K2 => V2, K3 => V3, }; is not the same as: $K1{object_addr} = V1; $K2{object_addr} = V2; $K3{object_addr} = V3;