$raw_dataPtr = \%{$element_stats_hash{$element_name}{'raw_data'}}; $$raw_dataPtr{$time} = {$var}; #### #!/usr/bin/perl use Data::Dumper; my $time = time(); my $val = 0.12205589; my $element_name = "foo"; $element_stats_hash{$element_name}{'raw_data'}{$time} = $val; # <-- print Dumper $element_stats_hash{$element_name}; __END__ $VAR1 = { 'raw_data' => { '1229382894' => '0.12205589' } }; #### # init raw data hash somewhere $element_stats_hash{$element_name}{'raw_data'} = {}; # then later my $raw_data = $element_stats_hash{$element_name}{'raw_data'}; $raw_data->{$time} = $val; $raw_data->{$another_time} = $another_val; #...