#!/usr/bin/perl

require  'parseargs.pl';

$ARGD = '
  { "?", ARGHIDDEN, argUsage, NULL,    "Help : print usage and exit" },
  { "S", ARGVALOPT, argStr,   string,  "STRing : optional string arg" },
  { "g", ARGLIST,   argStr,   groups,  "newsGROUPS : groups to test" },
  { "r", ARGOPT,    argInt,   count,   "REPcount : group repeat count" },
  { "d", ARGOPT,    argStr,   dirname, "DIRectory : working directory" },
  { "x", ARGOPT,    argBool,  xflag,   "Xflag : turn on X-mode" },
  { "y", ARGOPT,    argUBool, yflag,   "Yflag : turn off Y-mode" },
  { "s", ARGOPT,    argChar,  sepch,   "SEPchar : field separator" },
  { "f", ARGLIST,   argStr,   files,   "files : files to process" },
  { "n", ARGREQ|ARGPOS, argStr, name,  "name : name to use" },
  { " ", ARGLIST,   argStr,   ARGV,    "ARGV : any remaining arguments" },
  "ENDOFARGS" ';

$count = 1;
$dirname = '.';
$sepch = ',';
$yflag = 'TRUE';

&parseargs( @ARGV, $ARGD );

## print  the parsed arguments (use defaults if not defined)
print "ARGUMENTS:\n";
print "==========\n";
for ( $i = $[ ; $i <= $#groups ; $i++ ) {
  printf( "Groups[%d] = '%s'\n", $i, $groups[$i] );
}
printf( "Count = %d\n", $count );
printf( "Directory = '%s'\n", $dirname );
printf( "XFlag = '%s'\n", $xflag );
printf( "YFlag = '%s'\n", $yflag );
printf( "SepChar = '%s'\n", $sepch );
printf( "Name = '%s'\n", $name );
for ( $i = $[ ; $i <= $#files ; $i++ ) {
  printf( "Files[%d] = '%s'\n", $i, $files[$i] );
}
if ( $string_flag ) {
  if ( ! $string ) {
    $string = '!string arg ommitted on cmd-line!';
  }
}
else {
  $string = 'default string';
}
printf( "String = '%s'\n", $string );
for ( $i = $[ ; $i <= $#ARGV ; $i++ ) {
  printf( "ARGV[%d] = '%s'\n", $i, $ARGV[$i] );
}
