use Mail::Mailer; foreach my $email ( keys %overdue ) { my $mailer = new Mail::Mailer(); $mailer->open(From => "Nag-o-Matic", To => $email, Subject => "Overdue tasks"); print $mailer "You are associated with the following overdue tasks:\n\n"; foreach my $task ( @{$overdue{$email}} ) { print $mailer '"', $task->{Name}, '" was due on ', $task->{Finish}, "\n"; } print "\nPlease send a status update to your Manager.\n"; $mailer->close(); }