| tclGetOpts - getopt
NAMEgetopt, optind, optindc - parse command-line options in TCL
	 SYNOPSISgetopt arglist optstring optret argret
	 DESCRIPTIONgetopt sets the variable optret to the next option letter in
     arglist that matches a letter in optstring. optstring must
     contain the option letters the command using getopt will
     recognize; if a letter is followed by a colon, the option is
     expected to have an argument. The variable argret will be
     set to the option argument, if any.
     getopt sets the global variables optind and optindc to point
     to the next option letter in arglist to be processed; optind
     holds the index of the option in the list, and optindc holds
     the index of the option letter in the string. When all options have been processed (that  is,  up  to  the
     first  non-option argument), getopt returns an empty string.
     The special option -- may be used to delimit the end  of
     the  options;  when it is encountered, optret will be set to
     the empty string, and the -- will be skipped. If getopt encounters  an  option  in  arglist  that  is  not
     described  in optstring, or it finds an option with no argument when the option requires one, it sets optret to a blank
     string and argret to an error message. getopt returns 1 if an  option  was  found,  0  if  no  more
     options were found, and -1 if an error occurred.EXAMPLEThe following script accepts the exclusive options -a and  -b, and the option -o with an argument.
     #!/usr/local/bin/tclsh
     set opts(a) 0
     set opts(b) 0
     set opts(o) ""
     proc usage {} {
       puts stderr "Usage: $argv0 [ -a | -b ] [ -o <string> ]"
       exit 22
     }
     while { [ set err [ getopt $argv "abo:" opt arg ]] } {
       if { $err < 0 } then {
         puts stderr "$argv0: $arg"
         usage
       } else {
         switch -exact $opt {
           a {
             if { $found(b) } then {
               puts stderr "$argv0: Only one of -a and -b may be specified!"
               usage
             } else {
               set found(a) 1
             }
           }
           b {
             if { $found(a) } then {
               puts stderr "$argv0: Only one of -a and -b may be specified!"
               usage
             } else {
               set found(b) 1
             }
           }
           o {
             set found(o) $optarg
           }
         }
       }
     }
     set argv [ lrange $argv $optind end ]
     if { $found(a) } then {
       puts stdout "Found option -a"
     }
     if { $found(b) } then {
       puts stdout "Found option -b"
     }
     if { [ string length $found(o) ] } then {
       puts stdout "Found option -o:
     }
     puts -nonewline stdout "The rest of the arguments are: "
     set prefix ""
     foreach arg $argv {
       puts -nonewline stdout "$prefix
       set prefix ", "
     }
     puts stdout ""SEE ALSOgetopt(3C), typedoptshttp://www.waxandwane.com/toolbox/tclGetOpts/
AUTHORRoss Mohn, RPMohn@panix.comJohnson Earls
WARNINGChanging the value of the variable optind, or calling getopt
     with a different arglist, may lead to unexpected results.
	  |