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";} #### 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"; } }