in reply to Sending email with Net::SMTP

I've tried $smtp->recipient(@address); and I get the following error message...

Can't call method "recipient" on an undefined value

The error message indicates that $smtp is not defined. Have you created it at this stage in your program? Did you check the return value from Net::SMTP->new?

I think your map grep statement is also wrong, but first things first.

Update: Your map grep statement is okay, but make sure the values match exactly (including upper/lower case) between your CGI form and the hash keys.