in reply to Setting a hash element to a anoymous hash

There are two problems. First, assignment is denoted by '=', not '=>', which is a glorified comma:
$time{$previous} = { 'end_date' => $date, 'end_time' => $time };
Second, in the print statement, you need to dereferene the hash, not the key:
print "$_ $time{$_}{start_date} <br> \n" for (sort keys %time);

-Mark