引数の値として0を持っているのに、なぜ私のPerlプログラムは、ヘルプメッセージを印刷していますか?
-
19-09-2019 - |
質問
私はこれを行う場合:
GetOptions(
'u=s' => \$in_username,
'r=i' => \$in_readonly,
'b=i' => \$in_backup
);
exit usage() unless $in_username && $in_readonly && $in_backup;
と、このようなプログラムを呼び出します:
./app.pl -u david -r 12 -b 0
はいつも明らかに0が整数値として見ていない、使用()を呼び出すことになります。 iは整数値0を受け入れる何ができるか?
解決
ブール値として扱う場合には、0のPerlによって偽の値であると考えられている
あなたが好きなものを必要とする
exit usage() unless defined($in_username) && defined($in_readonly) && defined(in_backup);
編集
また、元の質問にMSWの優れたコメントをご覧ください。
所属していません StackOverflow