I don't really understand what is your problem - but reading perldoc perldsc should help you.
And perhaps what can you help as well is playing with the code you posted:
$hash{key}[0]{email} = 'email@email';
$hash{key}[0]{timestamp} = time;
This sets the first element of the array to the hash
{email => 'email@email', timestamp => time} (the
{array} in your example seems to be redundant).
And to set the second element of the array:
$hash{key}[1]{email} = 'email@email';
$hash{key}[1]{timestamp} = time;