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


in reply to until loops

Actually, this is not an infinite loop. This loop is always false until it evaluates 2000,
in which case it is true, and it stops. I got hung up on this too, I think the backwardness of until can be confusing.

Replies are listed 'Best First'.
Re: Re: until loops
by Anonymous Monk on Sep 03, 2003 at 09:44 UTC
    I dont think that is correct, the expression "$year==2000" will be false if $year is not 2000 but the actual statement of unless($year==2000) will be true unless year equals 2000. Also an infinite loop is one where the condition will never be met and so will never terminate, in this case if year will never become 2000. For example, if year was initialised to 2001 or if year was 1999 and never incremented then it is an infinite loop.