Hi,

I wrote this today on UNIX . When I tested the script, calling it with all the options 
(f s D P U S e q ) the "-s" option would not return the value from the command line. 
All the other variables got populated. I then change the "s:s" to "f:s" and that 
worked. I am trying to replace some software which uses -s as an option and need to 
handle the options the same in the PERL replacement. Is there a bug with "s:s"?

use Getopt::Long;
my $DATABASE  = ""; 
my $PASSWORD  = "";
my $USER = "";
my $SERVER = "";
my $ERR  = ""; 
my $SPROC = "";
my $QUERY = "";   
my $TT  = "";
GetOptions ( 'f:s' => \$TT, 's:s' => \$SPROC, 'D:s' => \$DATABASE,'P:s' => \$PASSWORD, 
  'U:s' => \$USER, 'S:s' => \$SERVER,'e' => \$ERR,'q:s' => \$QUERY) 
  || die "Options incorrect\n";

print "DATABASE =  $DATABASE\n PASSWORD = $PASSWORD\n USER = $USER\n  SERVER = 
$SERVER\n 
 ERR = $ERR\n  SPROC = $SPROC\n  QUERY = $QUERY\n  TT = $TT\n";
exit 0;


I have just tried it at home and using "-s" and "-S" to try and replicate at home on 
ActivePerl but it puts the options in the -S variable, not in "-s"


C:\Perl\scripts>perl getopt_test1.pl -s sausage -S slow
  DATABASE =
 PASSWORD =
 USER =
 SERVER = slow
 ERR =
 SPROC =
 QUERY =

I have now changed to using getopts which works but am curious why using Getopt::Long 
doesn't like the -s option.

Help please

Thanks in  Advance

Gus


Reply via email to