my %hash = ( # declare top-level hash key => [] # create new empty arrayref with key "key" ); # create a new anonymous hashref with the data and # push it onto the array push @{$hash{key}}, { email => 'email@address', timestamp => time }; # that will allow you to get at the first email address # with the following code: my $email = $hash{key}[0]{email};