Dist::Zilla::Prereqsは CPAN::Meta::Spec を使用して前提条件を実行します。そのドキュメントでは、バージョン範囲の章で構文について説明しています。
一部のフィールド (prereq、optional_features) は、前提条件として必要な可能性のある他のモジュールの特定のバージョンを示します。このセクションでは、この情報を提供するために使用されるバージョン範囲の種類について詳しく説明します。
バージョン範囲の最も単純な形式は、バージョン番号そのものです (例: 2.4)。これは、少なくともバージョン 2.4 が存在する必要があることを意味します。前提条件でバージョンがまったく定義されていない場合でも、前提条件のどのバージョンでも問題ないことを示すには、バージョン 0 を使用します。
または、バージョン範囲では、演算子 < (より小さい)、<= (以下)、> (より大きい)、>= (以上)、== (等しい)、および != (等しくない) を使用できます。同等)。たとえば、仕様 < 2.0 は、前提条件の 2.0 未満のバージョンが適切であることを意味します。
より複雑な状況では、コンマを使用してバージョン指定を AND で結合することができます。>= 1.2, != 1.5, < 2.0 という指定は、バージョンが 1.2 以上、2.0 未満、1.5 以下でなければならないことを示します。
したがって、前提条件は次のようになります。
[Prereqs]
Plack = >= 1.0000, < 2.0000
Plack = == 0.9990
Other::Module = >= 1.2, != 1.5, < 2.0
=
モジュール名 (キー) をバージョンまたはバージョン範囲 (値) から分離するシングルに注意してください。
これらのバージョンの意味:
-
>= 1.0000、< 2.0000
1.0000 以上 2.0000 未満
-
== 0.9990
正確にバージョン 0.9990
-
= 1.2、!= 1.5、< 2.0
12 以上で 1.5 ではなく、2.0 未満
ご覧のとおり、これは cpanfile または Module::Build の場合とまったく同じです。