switch man page on BSDi

Man page or keyword search:  
man Server   6284 pages
apropos Keyword Search (all sections)
Output format
BSDi logo
[printable version]



switch(n)	      Tcl Built-In Commands		switch(n)

_________________________________________________________________

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

SYNOPSIS
       switch ?options? string pattern body ?pattern body ...?

       switch ?options? string {pattern body ?pattern body ...?}
_________________________________________________________________

DESCRIPTION
       The switch command matches  its	string	argument  against
       each  of	 the  pattern  arguments in order.  As soon as it
       finds a pattern that matches string it evaluates the  fol-
       lowing  body argument by passing it recursively to the Tcl
       interpreter and returns the result of that evaluation.  If
       the  last pattern argument is default then it matches any-
       thing.  If no  pattern  argument	 matches  string  and  no
       default is given, then the switch command returns an empty
       string.

       If the initial arguments to switch start with - then  they
       are  treated  as	 options.  The following options are cur-
       rently supported:

       -exact	 Use exact matching when comparing  string  to	a
		 pattern.  This is the default.

       -glob	 When  matching string to the patterns, use glob-
		 style matching (i.e. the same as implemented  by
		 the string match command).

       -regexp	 When  matching string to the patterns, use regu-
		 lar expression matching (i.e. the same as imple-
		 mented by the regexp command).

       --	 Marks	the end of options.  The argument follow-
		 ing this one will be treated as string	 even  if
		 it starts with a -.

       Two  syntaxes  are provided for the pattern and body argu-
       ments.  The first uses a separate argument for each of the
       patterns	 and commands; this form is convenient if substi-
       tutions 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 switch commands, since the braces
       around the whole list make it  unnecessary  to  include	a
       backslash  at  the  end	of  each line.	Since the pattern

Tcl			       7.0				1

switch(n)	      Tcl Built-In Commands		switch(n)

       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.

       If a body is specified as ``-'' it means that the body for
       the next pattern should also be used as the body for  this
       pattern (if the next pattern also has a body of ``-'' then
       the body after that is used, and	 so  on).   This  feature
       makes  it  possible  to	share a single body among several
       patterns.

       Below are some examples of switch commands:
	      switch abc a - b {format 1} abc {format 2} default {format 3}
       will return 2,
	      switch -regexp aaab {
		^a.*b$ -
		b {format 1}
		a* {format 2}
		default {format 3}
	      }
       will return 1, and
	      switch xyz {
		a
		   -
		b
		   {format 1}
		a*
		   {format 2}
		default
		   {format 3}
	      }
       will return 3.

KEYWORDS
       switch, match, regular expression

Tcl			       7.0				2

[top]

List of man pages available for BSDi

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net