Pregunta

Desde mi entiendo, Perl tradicionalmente solo ha incluido la funcionalidad central, y las personas instalan bibliotecas adicionales para hacer todo tipo de cosas útiles (y a veces muy básicas). Pero en algún momento llegaron a haber "bibliotecas centrales" que se envían con Perl de forma predeterminada, por lo que puede usar estas bibliotecas sin instalarlas.

Viniendo de Python tengo curiosidad por saber cómo se maneja esto. Específicamente:

  1. ¿Cómo se eligen las bibliotecas?
  2. ¿Las bibliotecas todavía tienen sus propios números de versión y horarios de lanzamiento?
  3. ¿Qué tipo de garantías de compatibilidad con atraso tiene al usar estas bibliotecas?
  4. ¿Es común actualizar o rebajar estas bibliotecas en un sistema? ¿Se hace esto en todo el sistema o más específicamente?
  5. Si hay una solución de errores que requiere un cambio de API, ¿cómo sucede eso?
  6. ¿Cómo se agrega la funcionalidad a estas bibliotecas centrales (si es que es)?
¿Fue útil?

Solución

  1. Actualmente, solo las bibliotecas que son necesarias para arrancar/instalar otras bibliotecas entran en el lista de núcleo.
  2. Algunos solo están en el repositorio de Perl Git. Algunos son de doble vida en CPAN y en el repositorio. A veces, los errores se solucionan en el repositorio y los cambios se retroceden a la versión CPAN. A veces hay un nuevo lanzamiento en CPAN y un mantenedor de Perl verifica el módulo en el repositorio.
  3. Puedes confiar en un módulo central. Hay un tiempo de tiempo de deprecación muy largo antes de que uno sea eliminado, un ejemplo destacado reciente fue Switch.
  4. Los empacadores (por ejemplo, las personas que construyen RPM para una distribución de Linux) nunca podrían hacerlo bien; el orden incorrecto de las rutas de inclusión (@INC) no su culpa, y Finalmente se solucionó con 5.12. Esta es la razón por la que proviene la recomendación para compilar su propio Perl y no meterse con la instalación del sistema. Con 5.12, se supone que solo usa CPAN para instalar una versión actualizada de un módulo central, y se instala adicionalmente al que se envía con el sistema, pero dado que el nuevo viene antes que el anterior en la ruta de inclusión, el nuevo uno se carga cuando use/require eso.
  5. Presentado en perlpolicía.
  6. Programe la funcionalidad y las pruebas para ella, documente la cosa, luego se libere en CPAN o respectivamente, un mantenedor aplique el conjunto de cambios. Esto está acompañado de una discusión sobre P5P.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top