Provided by: tcl8.4-doc_8.4.20-7_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