Thank you Eliya. That makes perfect sense. I was overlooking the obvious (PERL newbie)
I have another quick question: Do you know the best way to make an option dependent on another? For example, in the code given above, I also add an option t that also requires a value, but the program will exit with an error if option t exists but not option c
use strict; use Getopt::Long; my $result = GetOptions ( "c=s" => \&COMP1, "t=s" => \&COMP2, # COMP2 will not be called if option c is +null? '<>' => sub {print "\nThat is not a valid parameter\n";}, ); sub COMP1 {print "\nOption -$_[0] is value=$_[1]\n";} sub COMP2 {print "\nOption -$_[0] is value=$_[1]\n";}
One thought is to load a variable and process them later, like this:
use strict; use Getopt::Long; my $COMP1 = 0; my $COMP2 = 0; my $result = GetOptions ( "c=s" => \$COMP1, "t=s" => \$COMP2, '<>' => sub {print "\nThat is not a valid parameter\n";}, ); if (!$COMP1) { if ($COMP2) { print "\nOption t won't run without option C"; } }
But I imagine there is a better way using GetOptions(). Ideas? Thank you.
In reply to Re^2: Processing arguments with Getopt::Long
by MKJ747
in thread Processing arguments with Getopt::Long
by MKJ747
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |