home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / misc / volume29 / parseargs / part01 / test.tcl < prev   
Encoding:
Text File  |  1992-05-19  |  1.6 KB  |  54 lines

  1. #!/usr/bin/tcl -q
  2.  
  3. source parseargs.tcl
  4.  
  5. set arguments {
  6.   { '?', ARGHIDDEN, argUsage, NULL,    "Help : print usage and exit" },
  7.   { 'S', ARGVALOPT, argStr,   string,  "STRing : optional string arg" },
  8.   { 'g', ARGLIST,   argStr,   groups,  "newsGROUPS : groups to test" },
  9.   { 'r', ARGOPT,    argInt,   count,   "REPcount : group repeat count" },
  10.   { 'd', ARGOPT,    argStr,   dirname, "DIRectory : working directory" },
  11.   { 'x', ARGOPT,    argBool,  xflag,   "Xflag : turn on X-mode" },
  12.   { 'y', ARGOPT,    argUBool, yflag,   "Yflag : turn off Y-mode" },
  13.   { 's', ARGOPT,    argChar,  sepch,   "SEPchar : field separator" },
  14.   { 'f', ARGLIST,   argStr,   files,   "files : files to process" },
  15.   { 'n', ARGREQ|ARGPOS, argStr, name,  "name : name to use" },
  16.   { ' ', ARGLIST,   argStr,   argv,    "argv : any remaining arguments" },
  17.   ENDOFARGS
  18. }
  19.  
  20. set count 1
  21. set dirname "."
  22. set sepch ","
  23. set xflag ""
  24. set yflag "TRUE"
  25. set files {}
  26. set groups {}
  27. set name ""
  28. set string ""
  29. set string_flag ""
  30.  
  31. eval [ parseargs -u -a $arguments $scriptName $argv ]
  32.  
  33. ## print  the parsed arguments (use defaults if not defined)
  34. puts stdout "ARGUMENTS:"
  35. puts stdout "=========="
  36. puts stdout "Groups = $groups"
  37. puts stdout "Count = $count"
  38. puts stdout "Directory = $dirname"
  39. puts stdout "XFlag = $xflag"
  40. puts stdout "YFlag = $yflag"
  41. puts stdout "SepChar = $sepch"
  42. puts stdout "Name = $name"
  43. puts stdout "Files = $files"
  44. if {( "$string_flag" != "") } {
  45.   if {( "$string" == "" )} {
  46.     set string "!string arg ommitted on cmd-line!"
  47.   }
  48. } else {
  49.   set string "default string"
  50. }
  51. puts stdout "String = $string"
  52. puts stdout "argv = $argv"
  53.  
  54.