Pregunta

Estoy un poco confundido por los consejos contradictorios entre documentos anteriores a 5.10.0 y la versión más reciente módulo. Perl Best Practices deja bastante claro que las cadenas de versión ('v1.0.3') son malas y una se supone que especifica una versión de la siguiente manera:

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

pero el módulo de versión dice que hemos vuelto a usar cadenas de versión:

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

¿Hemos retrocedido o hay alguna razón detrás de esto?

¿Fue útil?

Solución

Su presupuesto de Perl Best Practices no es del todo correcto. Específicamente, desnudos vstrings del formulario

our $VERSION = v1.0.3;

se desaniman. En la última versión de version.pm, la recomendación es utilizar cadenas verdaderas:

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

Esta funcionalidad se ha agregado para facilitar la legibilidad, al tiempo que evita específicamente las trampas de cadenas desnudas descritas aquí .

Como dice la página de documento a la que se vinculó, puede usar versiones sin la 'v' previa pendiente usando la lógica incorporada en Perl 5.10:

  

Si tiene un módulo que usa una $ VERSIÓN decimal (punto flotante), y no tiene la intención de cambiar eso, este módulo no es para usted. No hay nada que version.pm te gane sobre una simple asignación de $ VERSION.

Entonces, la respuesta a su pregunta es: use el nuevo " v1.0.3 " sintaxis si está escribiendo un nuevo código que usa version.pm. Apéguese a un número simple si así es como se escribió su código anterior, o si no desea depender explícitamente de module.pm.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top