       bsearch fileId key ?retvar? ?compare_proc?
              Search  an  opened  file  fileId containing lines of text sorted
              into ascending order for a match.  Key contains  the  string  to
              match.   If  retvar is specified, then the line from the file is
              returned in retvar, and the command returns 1 if key was  found,
              and  0  if  it  wasn't.  If retvar is not specified or is a null
              name, then the command returns the line that was  found,  or  an
              empty string if key wasn't found.

              By  default,  the  key  is matched against the first white-space
              separated field in each line.  The field is treated as an  ASCII
              string.   If compare_proc is specified, then it defines the name
              of a Tcl procedure to evaluate against each line read  from  the
              sorted  file  during the execution of the bsearch command.  Com-
              pare_proc takes two arguments, the key and a line extracted from
              the  file.  The compare routine should return a number less than
              zero if the key is less than the line, zero if the  key  matches
              the  line,  or  greater than zero if the key is greater than the
              line.  The file must be sorted in ascending order  according  to
              the  same criteria compare_proc uses to compare the key with the
              line, or erroneous results will occur.

              This command does not  work  on  files  containing  binary  data
              (bytes of zero).
