The until Control Structure
Sometimes, you’ll want to reverse the condition of a while
loop. To do that, use until
:
until ($j > $i) { $j *= 2; }
This loop runs until the conditional expression returns true. It’s really just a while
loop in disguise, except it repeats as long as the conditional is false, rather than true. The conditional expression is evaluated before the first iteration, so this is a zero-or-more-times loop, just like the while
loop.[234] As with if
and unless
, you could rewrite any until
loop to become a while
loop by negating the condition. But generally, you’ll find it simple and natural to use until
from time to time.
[234] Pascal programmers, take note: in Pascal, the repeat-until always runs at least one iteration, but an until
loop in Perl may not run at all if the conditional expression is true before the loop starts.
Get Learning Perl, Fourth Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.