http://qs321.pair.com?node_id=947

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.