2016-11-17 13 views
8

私はすべてのPerlスクリプトに常に$VERSIONという数字を含めることをお勧めしますが、目的を完全に理解したことはありません。

スクリプトにバージョン番号を含めると、実際には何が得られますか?

+0

あなたはそれをどこで読んでいますか?多分、他の重要なコンテキストがあるかもしれません。 –

+0

@briandfoy、正直なところ私は覚えていない。私は少し前にそれを読んでいて、それ以来私のスクリプトのすべてにバージョン番号を含めてきただけですが、なぜそのことを本当に知ったことはありませんでした。 – tjwrona1992

答えて

8

モジュールのみと、実際にはCPANにプッシュされたモジュールのみが$VERSIONを指定すると効果があります。スクリプトのバージョンをアクセス可能にしたい場合は、新しいスクリプトを作成するのではなく、使い慣れた名前を使用する以外は、スクリプトであまり使うことはありません。

主な用途:

  • CPANは、同じ分布の指標異なるバージョンにそれを可能にする、ディストリビューションのバージョンとしてそれを使用します。

  • およびcpanmは、インストールされたモジュールが必要な最小バージョンの依存性を満たすのに十分高いレベルであるかどうかをチェックするために使用します。言及したブライアンd個のフォイとして

、それはまた、use Foo 1.23;で確認することができますが、ほとんどの人はその分布のMETAファイルに依存関係の必要なバージョンを指定することを支持してこれを避けます。これにより、use Foo 1.23;を使用すると、テスト中にインストールが失敗するような場合に、cpancpanmで依存関係が更新されます。この機能の使用が不足しているため、ほとんど使用されていません。

7

あなたはuse文でモジュールの最小バージョンを指定することができますPerlはそのモジュールをロードすると

use Foo 1.23; 

、それがに等しいか、その数よりも大きいということをチェックする$VERSION変数を調べます。そうすれば、適切な機能と修正が得られます。

CPANクライアントは、$VERSIONを使用して最新のバージョンか、最新バージョンのモジュールをインストールする必要があるかどうかを判断します。

プログラムまたはスクリプトの場合、通常は$VERSIONは必要ありません。

関連する問題