La commande
while évalue
test comme expression (de la même façon que
expr évalue ses arguments). La valeur de l'expression doit une valeur booléenne correcte; si c'est la valeur true alors
body est exécuté par transmission à l'interpréteur Tcl. Une fois que
body a été exécuté alors
test est évalué de nouveau, et le processus recommence jusqu'a ce que éventuellement
test évalue à une valeur booléenne false. Des commandes
continue peuvent être exécutées à l'interieur de
body pour terminer l'itération courante de la boucle, et des commandes
break peuvent être exécutées à l'interieur
body pour provoquer la fin immédiate de la commande
while. La commande
while retourne toujours une chaîne vide.