Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Re: Get out of "For Loop"!

by girarde (Hermit)
on Oct 13, 2010 at 19:08 UTC ( [id://865137]=note: print w/replies, xml ) Need Help??


in reply to Get out of "For Loop"!

This being Perl there are several right ways. Another one would be:

for (my $i = 0; $i < @{$data}; $i++) { my $email = $data->[$i]{'email'} || ''; my $name = $data->[$i]{'name'} || ''; unless ($email) { bad("No email address."); last; }else{ good("Email found."); } }

This does not test for validity of the email, of course, but presumably you do that elsewhere. And presumably the good and bad subroutines are defined somewhere.

Replies are listed 'Best First'.
Re^2: Get out of "For Loop"!
by morgon (Priest) on Oct 13, 2010 at 19:26 UTC
    But to quote from one of the holy books (Perl Best Pratices, Chapter 6.4):
    Don't use unless or until at all.

    So instead if unless($email) rather use if(! $email)

      Damian is sometimes wrong. Shhh! Don't tell anyone.

      I prefer unless() as a suffix. I do agree that an unless() block should not have an else ... negating the negation warps my mind this early on a Monday morning. But it doesn't need one, since the next / last goes to the next iteration of the loop.

      As Occam said: Entia non sunt multiplicanda praeter necessitatem.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others having a coffee break in the Monastery: (4)
As of 2024-04-16 12:56 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found