Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

unless statements

by root (Monk)
on Nov 05, 1999 at 04:10 UTC ( #947=perltutorial: print w/replies, xml ) Need Help??

Unless statements allow you to say unless something is true do this. For example:
$value=20;
unless($divisor==0){      #so long as the $divisor isn't equal to 0
  $value=$value/$divisor; #go ahead and divide $value by $divisor
} else {
  $divisor=1;             #otherwise set $divisor to 1
}
If you've got that I suggest you take a look at while loops

Replies are listed 'Best First'.
Re: unless statements
by htoug (Deacon) on Feb 08, 2005 at 11:09 UTC
    It is a matter of taste (and style), but I only use unless without the else-clause. If you have the else, then you could just as well use a normal if and get better readability - it's more like waht everyone is used to.

    But in a standalone if (!(some_complicated_expression)) the use of unless lets you remove one pair of parenthesis and lets the poor smuck reading the code have one less thing to worry about.

    I would rewrite your example as

    $value=20; if ($divisor!=0){ #so long as the $divisor isn't equal to 0 $value=$value/$divisor; #go ahead and divide $value by $divisor } else { $divisor=1; #otherwise set $divisor to 1 }
    Now the statement says the same as the comment (in your code it should have been #unless the $divisor isn't equal to 0 - 'so long' indicates a repetition IMHO).
      Hello , well i think unless is a loop and things like : if ($divisor!=0){ doesn't work rather than using unless if will procedes the action for one time but unless will keep procedes the same things unless the statment goes wrong that's what i think
A reply falls below the community's threshold of quality. You may see it by logging in.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (11)
As of 2020-10-23 11:57 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    My favourite web site is:












    Results (238 votes). Check out past polls.

    Notices?