case(n) Tcl (7.0) case(n)
_________________________________________________________________
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
contain 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
arguments. The first uses a separate argument for each of
the patterns and commands; this form is convenient if
substitutions 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
Page 1 (printed 2/19/99)