Perlではパッケージバージョンをどのように指定しますか?
-
06-07-2019 - |
質問
5.10.0より前のドキュメントと最新のバージョンとの間でアドバイスが矛盾しているため、少し混乱しています。 モジュール。 Perlのベストプラクティスにより、バージョン文字列(「v1.0.3」)が不良であり、次のようにバージョンを指定することになっています:
use version; our $VERSION = qv('1.0.3');
ただし、バージョンモジュールには、バージョン文字列の使用に戻ったことが記載されています。
use version 0.77; our $VERSION = qv("v1.2.3");
退行しましたか、またはこの背後に理由がありますか?
解決
Perlのベストプラクティスからの引用は正しくありません。具体的には、フォームの bare vstrings
our $VERSION = v1.0.3;
お勧めできません。 version.pmの最新バージョンでは、真の文字列を使用することをお勧めします。
use version 0.77; our $VERSION = qv("v1.2.3"); # shorthand
この機能は読みやすくするために追加されましたが、特にこちら。
リンク先のドキュメントページにあるように、Perl 5.10の組み込みロジックを使用して、プリペンドの「v」のないバージョンを使用できます。
10進数の$ VERSION(浮動小数点)を使用するモジュールがあり、それを変更するつもりがない場合、このモジュールは適していません。 version.pmが単純な$ VERSION割り当てよりも優れているものはありません。
あなたの質問に対する答えは、新しい「v1.0.3」を使用することです。 version.pmを使用する新しいコードを記述する場合の構文。古いコードがそのように書かれている場合、またはmodule.pmに明示的に依存したくない場合は、単純な数字に固執します。
所属していません StackOverflow