home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / misc / volume29 / parseargs / part01 / test.pl < prev    next >
Encoding:
Perl Script  |  1992-05-19  |  1.7 KB  |  53 lines

  1. #!/usr/bin/perl
  2.  
  3. require  'parseargs.pl';
  4.  
  5. $ARGD = '
  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. $count = 1;
  20. $dirname = '.';
  21. $sepch = ',';
  22. $yflag = 'TRUE';
  23.  
  24. &parseargs( @ARGV, $ARGD );
  25.  
  26. ## print  the parsed arguments (use defaults if not defined)
  27. print "ARGUMENTS:\n";
  28. print "==========\n";
  29. for ( $i = $[ ; $i <= $#groups ; $i++ ) {
  30.   printf( "Groups[%d] = '%s'\n", $i, $groups[$i] );
  31. }
  32. printf( "Count = %d\n", $count );
  33. printf( "Directory = '%s'\n", $dirname );
  34. printf( "XFlag = '%s'\n", $xflag );
  35. printf( "YFlag = '%s'\n", $yflag );
  36. printf( "SepChar = '%s'\n", $sepch );
  37. printf( "Name = '%s'\n", $name );
  38. for ( $i = $[ ; $i <= $#files ; $i++ ) {
  39.   printf( "Files[%d] = '%s'\n", $i, $files[$i] );
  40. }
  41. if ( $string_flag ) {
  42.   if ( ! $string ) {
  43.     $string = '!string arg ommitted on cmd-line!';
  44.   }
  45. }
  46. else {
  47.   $string = 'default string';
  48. }
  49. printf( "String = '%s'\n", $string );
  50. for ( $i = $[ ; $i <= $#ARGV ; $i++ ) {
  51.   printf( "ARGV[%d] = '%s'\n", $i, $ARGV[$i] );
  52. }
  53.