For Programmers: Free Programming Magazines  


Home > Archive > PERL Beginners > December 2004 > Getopt::Long , handles the number zero differently..









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author Getopt::Long , handles the number zero differently..
Mike Donnelly

2004-12-21, 8:55 pm


Using the example code below, I find that I can
use getopt handily to pass all sorts of
variables to my script, as long as a
value passed is not a 0 (zero)

How to I use getopt::long and be able to
pass the number zero as a value?
Code, and behavior follows

Thanks! Mike D
......................
MYTEST
#!/usr/local/bin/perl
use Getopt::Long;
GetOptions("o"=>\$oflag,
"string=s"=>\$stringmandatory,
"int=i"=> \$mandatoryinteger,
print "oflag $oflag\n" if $oflag;
print "stringmandatory $stringmandatory\n" if
$stringmandatory;
print "mandatoryinteger $mandatoryinteger\n" if
$mandatoryinteger;

print "Unprocessed by Getopt::Long\n" if $ARGV[0];
foreach (@ARGV) {
print "$_\n";
}
.................................
# ./MYTEST -stringmandatory=1
Unknown option: stringmandatory
# ./MYTEST --stringmandatory=1
Unknown option: stringmandatory
# ./MYTEST --string
Option string requires an argument
# ./MYTEST --string
Option string requires an argument
# ./MYTEST --string=abc
stringmandatory abc
# ./MYTEST --string=1
stringmandatory 1
# ./MYTEST --string=0
# ./MYTEST --int=0
# ./MYTEST --int=1
mandatoryinteger 1


________________________________________
__________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
Sponsored Links







Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive

Copyright 2008 codecomments.com