私は理解しようとしているコードの一部を次のようしている:私のようにコードを実行するとオプションはPerlのGetopt :: Longでどのように動作するのですか?
use Getopt::Long;
my $isheader ;
if(!GetOptions(
"is-header!" => \$isheader,
)) { exit 1; }
print "isheader is = $isheader\n" ;
:
script.pl --is-header
出力は次のとおりです。私は入れている
isheader is = 1
a "!" 、第二に
isheader is = 0
私は、スクリプトを実行する場合:オプション名の末尾にその出力はすべきではないと否定する-ヘッダがある
script.pl --is
まだ
を印刷することができますisheader is = 1
私はPerlがオプションの部分的な名前を展開すると思いますか?
は第三に、私は
script.pl --is-header --is-head
なぜそれがあいまいなオプションのエラーで失敗しない実行しますか?それは印刷する
isheader is = 1
また、私は - ヘッダーを置き換えて!上記のコードにis-header +をつけてもまだ出力されています
isheader is = 1
isheader is = 2、なぜそうでしょうか?
私はhttps://perldoc.perl.org/Getopt/Long.html
を読み、それを理解するために実験していましたが、私はうんざりしているようです。
否定するために、あなたは、ドキュメントの状態として、 'NOIS-header'を使用しています。 – toolic