Frage

Ich bin ein wenig verwirrt durch widersprüchliche Ratschläge zwischen Pre-5.10.0 Dokumente und der neueren Version rel="nofollow Modul. Perl Best Practices es, dass Version Strings ziemlich klar macht ( 'v1.0.3') sind schlecht und ein soll eine Version angeben, wie folgt:

use version; our $VERSION = qv('1.0.3');

aber die Version Modul sagt, dass wir mit der Version Strings sind zurück:

use version 0.77; our $VERSION = qv("v1.2.3");

Haben wir regrediert, oder gibt es einen Grund dahinter?

War es hilfreich?

Lösung

Ihr Zitat von Perl Best Practices ist nicht ganz richtig. Insbesondere nackte vstrings der Form

our $VERSION = v1.0.3;

sind entmutigt. In der neuesten Version von version.pm, ist die Empfehlung wahr Strings zu verwenden:

use version 0.77; our $VERSION = qv("v1.2.3");               # shorthand

Diese Funktionalität wurde hinzugefügt, die Lesbarkeit zu unterstützen, während speziell die Fallen von nackten Strings beschrieben vermeiden hier .

Als doc-Seite verknüpft sagt, können Sie Möglichkeiten nutzen, ohne vorher angemeldeten ‚v‘ mit integrierten Logik in Perl 5.10:

  

Wenn Sie ein Modul haben, die eine Dezimalzahl $ VERSION (floating point) verwendet, und Sie nicht beabsichtigen, das jemals zu ändern, ist dieses Modul nicht für Sie. Es gibt nichts, was Sie version.pm gewinnt über eine einfache $ VERSION Zuordnung.

So ist die Antwort auf Ihre Frage ist: Verwenden Sie die neue „v1.0.3“ Syntax, wenn Sie neuen Code schreiben, die version.pm verwendet. Halten Sie sich an eine einfache Zahl, wenn das ist, wie Sie Ihren alten Code geschrieben wurde, oder wenn Sie nicht möchten, explizit auf module.pm ab.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top