Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation

Unless vs. Until?

by inblosam (Monk)
on May 22, 2002 at 06:53 UTC ( #168367=note: print w/replies, xml ) Need Help??

in reply to until loops

Can't you just use an "unless" just the same? Is there an advantage/disadvantage to one or the other?

$year=1900; unless($year==2000){ #notice unless instead of until print "blah blah $year\n"; #now it works; $year++; } print "Done\n";

Michael Jensen
InShift Technologies

Replies are listed 'Best First'.
Re: Unless vs. Until?
by jeffenstein (Monk) on May 22, 2002 at 07:03 UTC

    Unfortunately this won't work. The until loop will continue redoing the block until the condition is met. Unless will only execute the block one time, leaving the counter at 1901 instead of 2000.

    Update: crazyinsomniac has pointed out a better way to say this: The unless(condition) statement is saying the same thing as to if( not condition). The until(condition) statement is equivelant to while( not condition).

    That is to say, until() and while() are loops, and will repeat until the condition is met, while if() and unless() are not, and will only execute the block 0 or 1 times. Therefore, you can't trade unless() for until().

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://168367]
[PriNet]: go figure, i just tried that, it retains some of the values (not the key) of the pre-assigned value
[PriNet]: i guess i'll just have to use two seperate hashes, there are two, but one is larger than the other, and when i reference the smaller one, it holds onto the values that were assigned to the larger hash (the keynames change, but unless i reassign a new valu

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (3)
As of 2017-06-28 03:02 GMT
Find Nodes?
    Voting Booth?
    How many monitors do you use while coding?

    Results (619 votes). Check out past polls.