

          scanmatch [-nocase] contexthandle [regexp] commands
               Specify Tcl commands, to be evaluated when regexp is
               matched by a scanfile command.  The match is added to
               the scan context specified by contexthandle.  Several
               match statements may be specified for a give context.
               Regexp is a regular expression (see the regexp
               command).  If -nocase is specified as the first
               argument, the pattern is matched regardless of
               alphabetic case.

               If regexp is not specified, then a default match is
               specified for the scan context.  The default match will
               be executed when a line of the file does not match any
               of the specified regular expressions.

               The array, matchInfo, is available when the Tcl code is
               executed and contains information about the file being
               scanned.  It is local to the top level of the match
               command unless declared global at that level.  If it is
               to be used as a global it must be declared global
               before scanfile is called (since scanfile sets the
               matchInfo before the match code is executed, a
               subsequent global will override the local variable).
               The text of the file line that was matched is in
               matchInfo(line).  The byte offset into the file of the
               line that was matched is in matchInfo(offset).  The
               line number of the line that was matched is in
               matchInfo(linenum). This is relative to the first line
               scanned, not the first line of the file.  The first
               line is line number one.  The file handle of the file
               being scanned is in matchInfo(handle).

          All scanmatch patterns that match a line will be processed
          in the order that the specifications were added to the scan
          context.  The remainder of the scanmatch pattern-command
          pairs may be skipped for a file line if a continue is
          executed in the match command.  If a return is executed in
          the body of the match command, the scanfile command in
          progress returns with the value passed to return as it's
          value.
