On 4/29/05, John Doe <[EMAIL PROTECTED]> wrote: > > Am Freitag, 29. April 2005 10.19 schrieb lohit: > > On 4/29/05, John Doe <[EMAIL PROTECTED]> wrote: > > > Am Freitag, 29. April 2005 09.19 schrieb lohit: > > > > On 4/29/05, lohit <[EMAIL PROTECTED]> wrote: > > > > > Hi, > > > > > > Hi > > > > > > > > i have a requirement, as in based on one command line option, the > > > > > rest of the arguments change for the same script. > > > > > eg: script could be called in either of the ways > > > > > script1 -option1 -option2 adfas -option3 > > > > > script -option1 -option4 > > > > > my question is > > > > > 1. how do we get the option1 alone from GetOptions function > > > > > 2. can i call GetOptions multiple times? > > > > > how would you handle such situation > > > > > thanks in advance for the help!! > > > > > > > > ok, i see that only one option could be parse with GetOptions > > > > > > Are there reasons not to use GetOpt::Std or GetOpt::Long? > > > Could you provide some code? > > > > i am fine with any GetOpt as long as it solves my problem. this is the > > problem i have been having. > > script usage is: > > script.pl -checkflag -option1 value1 -option2 value2 > > now my problem is i need to check only '-checkflag' flag. rest would be > > parsed in second run. > > now if the first run i parse it something like > > &GetOptions('checkflag' => \$check_flag); > > if ($checkflag) > > { > > do somethign here..... > > } > > but perl throws an error, > > Unknow argument option1 > > Unknow argument option2 > > how do i get rid of them, or any other solution? > > thanks! > > > > > and for the > > > > > > > next run i could copy back a saved version of @ARGV. > > > > but while i am processin any one options, i get an error message > saying > > > > *Unknow option* * *for the other unused options. how do i get rid of > > > > > > this? > > Hi lohit > > With the modules I mentoned, you can parse all provided options with one > sub > call. The handling of the values is separated from that. > > Here is a snippet of one of my scripts; > by reading the man pages you can adapt it to your needs: > > === beg === > > use strict; > use warnings; > use Getopt::Long; > > # default values for all possible options: > # > my $opt_surveyname=''; > my $opt_fbname=''; > > # slurp all cmdline opts into the corresponding vars: > # > GetOptions ( > 'surveyname=s'=>\$opt_surveyname, > 'fbname=s'=>\$opt_fbname, > ); > > # Check correct options / combinations / whatever > # > &usage () unless $opt_surveyname and $opt_fbname; > > ### > ### Here your code to process the provided option values > ### > > sub usage { > print <<EOF; > ... > EOF > exit; > } > > === end === > > The script is called > > script --surveyname=foo --fbname=bar
thanks joe, lets assume we add an option -checkflag to your script script -checkflag --surveyname=foo --fbname=bar now if i specify -checkflag , we have to parse surveryname and fbname lets assume i do not pass checkflag , then i would like to invoke script soemthing like this script --surveyname==foo --username=foobar so, checkflag is kind of check for different *sets* of arguments. so i need to parse arguments multiple times.. how would you go about in this situation thanks for the help! joe > > > > -- > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > <http://learn.perl.org/> <http://learn.perl.org/first-response> > > -- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > <http://learn.perl.org/> <http://learn.perl.org/first-response> > >