tcl7.6 User Commands - case






NAME

     case - Evaluate one of several scripts, depending on a given
     value


SYNOPSIS

     case string ?in? patList body ?patList body ...?

     case string ?in? {patList body ?patList body ...?}





DESCRIPTION

     Note: the case command is obsolete and is supported only for
     backward  compatibility.  At some point in the future it may
     be removed entirely.  You  should  use  the  switch  command
     instead.

     The case command matches string against each of the  patList
     arguments  in order.  Each patList argument is a list of one
     or more patterns.  If any of these patterns  matches  string
     then  case  evaluates the following body argument by passing
     it recursively to the Tcl interpreter and returns the result
     of  that  evaluation.   Each  patList argument consists of a
     single pattern or list of patterns.  Each pattern  may  con-
     tain any of the wild-cards described under string match.  If
     a patList argument is default, the corresponding  body  will
     be  evaluated  if  no patList matches string.  If no patList
     argument matches string and no default is  given,  then  the
     case command returns an empty string.

     Two syntaxes are provided for the  patList  and  body  argu-
     ments.   The  first uses a separate argument for each of the
     patterns and commands; this form is convenient if  substitu-
     tions  are desired on some of the patterns or commands.  The
     second form places all of the patterns and commands together
     into  a  single argument; the argument must have proper list
     structure, with the elements of the list being the  patterns
     and  commands.   The  second form makes it easy to construct
     multi-line case commands, since the braces around the  whole
     list  make  it unnecessary to include a backslash at the end
     of each line.  Since the patList arguments are in braces  in
     the  second  form,  no command or variable substitutions are
     performed on them;  this makes the behavior  of  the  second
     form different than the first form in some cases.



KEYWORDS

     case, match, regular expression