use warnings; use strict; use Data::Dumper; $Data::Dumper::Sortkeys = 1; my %HOH; my $key = 'foo'; my $value = 5; my $value2 = 6; $HOH{$key}{"name"} = $value; push(@{$HOH{$key}{"price"}}, $value2); push(@{$HOH{$key}{"price"}}, 99); print Dumper(\%HOH); __END__ $VAR1 = { 'foo' => { 'name' => 5, 'price' => [ 6, 99 ] } };