次のコードがあります
my $use = "Use: " . basename($0) . " [options]";
my $version = "Version: 0.1 \n";
my $variableA;
my $variableB;
GetOptions(
'a=s' => \$variableA,
'help' => sub { print $use; exit 0 },
'version' => sub { print $version; exit 0 },
'b' => sub { \$variableB, &this_subroutine; goto NOWGOHERE; },
);
die "Incorrect use. \n" unless (defined $variableA || defined $variableB);
sub this_subroutine {
print "$variableB\n";
}
NOWGOHERE: print "HELLO I'M NOW HERE\n";
私がやろうとしているのは、設定してから実行することですが、$variableB
どちらかまたは両方を使用して、両方ではなく、どちらか一方を実行することしかできません&this_subroutine
goto NOWGOHERE
'b=s' => \$variableB,
sub { &this_subroutine; goto NOWGOHERE;0 },
両方を実行しようとすると、 を印刷できないように見えますが$variableB
、明らかな何かが欠けているか、構文的に間違っていますか?
使用'b=s' => \$variableB, sub { &this_subroutine; goto NOWGOHERE; },
してもうまくいかないようですか?
あなたの助けは大歓迎です、どうもありがとう