GetOptions(
"r|repo=s" => \$repo,
"R|list-repos" => \$list,
);
このスクリプトを-r qwe
オプションで呼び出すと$list
、1 に更新されますが、これは期待したものではありません。
GetOpt で大文字と小文字を区別するにはどうすればよいですか?
GetOptions(
"r|repo=s" => \$repo,
"R|list-repos" => \$list,
);
このスクリプトを-r qwe
オプションで呼び出すと$list
、1 に更新されますが、これは期待したものではありません。
GetOpt で大文字と小文字を区別するにはどうすればよいですか?
use Getopt::Long qw(:config no_ignore_case);
また、バンドルを有効にすると修正されます。
use Getopt::Long qw(:config bundling);
ドキュメントから:
バンドル用に構成されている場合、単一文字のオプションでは大文字と小文字が区別され、長いオプションでは大文字と小文字が区別されません。1文字のオプションで大文字と小文字を区別しないようにするには、次を使用します。
Getopt::Long::Configure ("bundling", "ignorecase_always");
そして、著者は次のように付け加えます。
言うまでもなく、バンドルは非常に混乱を招く可能性があります。