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. |