NAME
       while  -  Execute script repeatedly as long as a condition
       is met

SYNOPSIS
       while test body


DESCRIPTION
       The while command evaluates test as an expression (in  the
       same  way that expr evaluates its argument).  The value of
       the expression must a proper boolean value;  if  it  is  a
       true  value then body is executed by passing it to the Tcl
       interpreter.  Once body has been  executed  then  test  is
       evaluated  again, and the process repeats until eventually
       test evaluates to a false boolean  value.   Continue  com-
       mands may be executed inside body to terminate the current
       iteration of the loop, and break commands may be  executed
       inside  body  to  cause immediate termination of the while
       command.   The  while  command  always  returns  an  empty
       string.

       Note: test should almost always be enclosed in braces.  If
       not, variable substitutions will be made before the  while
       command   starts  executing,  which  means  that  variable
       changes made by the loop body will not  be  considered  in
       the  expression.   This is likely to result in an infinite
       loop.  If test is enclosed in braces,  variable  substitu-
       tions  are  delayed  until  the  expression  is  evaluated
       (before each loop iteration), so changes in the  variables
       will be visible.  For an example, try the following script
       with and without the braces around $x<10:
              set x 0
              while {$x<10} {
                puts "x is $x"
                incr x
              }


SEE ALSO
       break(n), continue(n), for(n), foreach(n)


KEYWORDS
       boolean value, loop, test, while
