Provided by: tcl8.5-doc_8.5.19-4_all bug

NAME

       if - Execute scripts conditionally

SYNOPSIS

       if expr1 ?then? body1 elseif expr2 ?then? body2 elseif ... ?else? ?bodyN?
_________________________________________________________________________________________________

DESCRIPTION

       The  if  command evaluates expr1 as an expression (in the same way that expr evaluates its
       argument).  The value of the expression must be a boolean (a numeric  value,  where  0  is
       false and anything is true, or a string value such as true or yes for true and false or no
       for false); if it is true then body1 is executed by passing it  to  the  Tcl  interpreter.
       Otherwise  expr2  is  evaluated as an expression and if it is true then body2 is executed,
       and so on.  If none of the expressions evaluates to true then bodyN is executed.  The then
       and  else  arguments are optional “noise words” to make the command easier to read.  There
       may be any number of elseif clauses, including zero.  BodyN may also be omitted as long as
       else  is  omitted too.  The return value from the command is the result of the body script
       that was executed, or an empty string if none of the expressions was  non-zero  and  there
       was no bodyN.

EXAMPLES

       A simple conditional:
              if {$vbl == 1} { puts "vbl is one" }

       With an else-clause:
              if {$vbl == 1} {
                 puts "vbl is one"
              } else {
                 puts "vbl is not one"
              }

       With an elseif-clause too:
              if {$vbl == 1} {
                 puts "vbl is one"
              } elseif {$vbl == 2} {
                 puts "vbl is two"
              } else {
                 puts "vbl is not one or two"
              }

       Remember, expressions can be multi-line, but in that case it can be a good idea to use the
       optional then keyword for clarity:
              if {
                 $vbl == 1 || $vbl == 2 || $vbl == 3
              } then {
                 puts "vbl is one, two or three"
              }

SEE ALSO

       expr(3tcl), for(3tcl), foreach(3tcl)

KEYWORDS

       boolean, conditional, else, false, if, true