in reply to emailing with an address taken from a database
You haven't given us enough information to understand the format of the data you're munging. I expect that you haven't escaped the @ properly. What are $four and @emailer supposed to look like? Why are you join()ing @emailer with whitespace?
If you're not enclosing the email address in single quotes, or escaping the @, you're allowing for variable substitution, and Perl is likely treating the "user@domain" as "user" . @domain, where @domain is a nonexistent array.
You also haven't provided any errors from your maillog or the strict pragma. Please help us help you. :)
-fp