Die until-Schleife wird also so lange ausgeführt, bis $i zehn ist.
Natürlich ist bei until eine Verwendung von last, next und redo möglich.
Ist im ersten Durchlauf von until die Bedingung bereits erfüllt, so wird der Anweisungsblock nicht durchlaufen. Will man aber, daß auf jeden Fall der Befehlsblock einmal durchlaufen wird, so kann man ein do {tuwas} until (Bedingung) verwenden.
Der Befehlsblock wird also durchlaufen, obwohl $i schon zehn ist.
Vorsicht ist geboten, da mit until schnell eine Endlosschleife programmiert werden kann, wenn dir Bedingung nie erfüllt wird. Perl komt dann nie mehr aus einer solchen Schleife heraus.
until ist das Gegenstück zu while, das Befehlblöcke so lange ausführt, so lange eine Bedingung gültig ist.
Kommentare zum Beitrag "until in Perl"
Kommentar von Hans-Martin Aurich
do {print "$i\n";
} until ($i==10);
Wenn mich nicht alles täuscht wird das ";" am Ende benötigt!
Sonst "syntax error at..."