アプリケーションの一部としてモジュールを作成していたときに、構文チェックの結果、定数 (1) の無駄な使用に関する警告が表示されることに気付きました。何故ですか?
定数は1
モジュールの最後で必須であり、通常はperldoc perldiag
次のように警告によって無視されます。
この警告は、0 または 1 に等しい数値定数に対しては発行されません。数値定数は次のようなステートメントでよく使用されるためです。
1 while sub_with_side_effects();
(おそらく、それにはもっと良い情報源があります。1
結局のところ、ファイルの最後は完全に望ましいものであり、警告する必要はありません。)
ただし、ほとんど空のモジュールの場合でも警告が生成されますuse bigint
。
package Foo;
use bigint;
1;
この単純なファイル構文チェックでは、次の警告が生成されます。
$> perl -Wc Foo.pm
Useless use of a constant (1) in void context at Foo.pm line 5.
Foo.pm syntax OK
Put long hex numbers in sqlitebigint
以外の参照と警告メッセージは見つかりませんでしたが、これは実際には私の問題に対処していないと思います。
私の Perl は、Cygwin で bigint 0.36 の v5.14.4 です。