4

これは、コマンド ライン引数の処理をテストするために作成した簡単なスクリプトです。

use Getopt::Long;

my $help = 0;

GetOptions(
'help|h|?' => \$help,
) or die "Error!";

print "OK\n";

私が得た結果は次のとおりです。

D:\>perl test.pl --help
OK

D:\>perl test.pl --hell
Unknown option: hell
Error! at test.pl line 10.

D:\>perl test.pl --he
OK

D:\>perl test.pl --hel
OK

誰もこれに気づいたことがありますか?動作 (ヘルプの代わりに彼とヘルを受け入れる) は潜在的なバグですか?

4

3 に答える 3

13

これはここに記載されている機能です

于 2009-05-28T14:26:13.783 に答える
8

いいえ、意図的です。オプションの最短のあいまいでないバージョンを受け入れるため、別のオプション "--hex" がある場合、"--he" は受け入れませんが、"--hel" は受け入れます。

于 2009-05-28T14:26:31.257 に答える
8

これは機能です。結果が曖昧でない限り、オプションは省略できます。この動作を望まない場合は、構成で無効にすることができます

これがバグである場合、それが既知のものであるかどうかを確認する場所は、rt.cpan.org のバグキューです

于 2009-05-28T15:18:09.093 に答える