Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses
 
PerlMonks  

Re: How not to pass undef variables

by count0 (Friar)
on Jan 10, 2002 at 22:02 UTC ( [id://137787]=note: print w/replies, xml ) Need Help??


in reply to How not to pass undef variables

From the very first assignment to @emails, you have no idea how many, if any, elements it has.

A good general rule to follow is that when you don't know if there is a value, test it! ;)

The @emails = grep... statement doesn't need any input, so you're safe there.
The foreach... doesn't need @emails to have anything in it, so again, that's ok.

When you get down to the split(), you have a problem. If @newemails has no elements in it.. perl will complain, and $email and $domain will be undefined.

The simplest way to deal with this situation is to test if @newemails has any elements. Wrap any code that depends on it containing something, into that test:
if (scalar @newemails) { my ($email, $domain) = split(/\@/, $newemails[0]); mail($newemails[0], $domain); }

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://137787]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others pondering the Monastery: (7)
As of 2024-03-28 12:55 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found