in reply to Hashes & Arrays

I think you mean $email = $hash{key}[0]{email}; At least, that's what your steps describe.

my %hash; # Inputed data: my $email = 'email@example.com'; my $timestamp = time; # Adding a record: my $record = { email => $email, timtstamp => timestamp, }; push(@{$hash{key}}, $record); # Example of getting a value: print("email for first record: ", $hash{key}[0]{email}, "\n");

"@{ $hash{key} }" means "the array at key 'key' in the hash '%hash'". Auto-vivification will create the array for us if it doesn't already exist.