私は次のコードを書きました:
my $version = sub {
print "$PROGNAME $VERSION - $AUTHOR\n";
exit 0;
};
my $usage = sub {
print "Usage: proll <options>\n";
print "Available options:\n";
print " -h, --help Print this help and exit.\n";
print " --version Print version.\n";
print " XdY Launch X dice with Y faces.\n";
exit 0;
};
my $ret = GetOptions ( "version" => \$version,
"h|help" => \$usage );
しかし、スクリプトを呼び出す--version
か--help
、サブルーチンを呼び出さない場合も同様です。どこが間違っていますか?
そして、次のようにコードを変更すると、コマンド ライン パラメーターなしで常に最初のサブルーチンが呼び出されます。
my $ret = GetOptions ( "version" => &$version,
"h|help" => &$usage );