CPAN


Comprehensive Perl Archive Network ( CPAN ) es un depósito de más de 250.000 módulos de software y documentación adjunta para 39.000 distribuciones, escrito en el lenguaje de programación Perl por más de 12.000 colaboradores. [1] CPAN puede indicar la red de archivos o el programa Perl que actúa como una interfaz a la red y como un instalador de software automatizado (algo así como un administrador de paquetes ). La mayor parte del software de CPAN es gratuito y de código abierto . [2]

CPAN fue concebido en 1993 y ha estado activo en línea desde octubre de 1995. [3] Se basa en el modelo CTAN y comenzó como un lugar para unificar la estructura de archivos Perl dispersos. [4]

Como muchos lenguajes de programación , Perl tiene mecanismos para usar bibliotecas de código externas , haciendo que un archivo contenga rutinas comunes utilizadas por varios programas. Perl llama a estos módulos . Los módulos de Perl se instalan típicamente en uno de varios directorios cuyas rutas se colocan en el intérprete de Perl cuando se compila por primera vez ; en sistemas operativos similares a Unix , las rutas comunes incluyen / usr / lib / perl5 , / usr / local / lib / perl5 y varios de sus subdirectorios.

Perl viene con un pequeño conjunto de módulos principales . Algunos de estos realizan tareas de arranque, como ExtUtils :: MakeMaker, [5] que se usa para crear Makefiles para construir e instalar otros módulos de extensión; otros, como List :: Util, [6] son de uso común.

El propósito principal de CPAN es ayudar a los programadores a localizar módulos y programas que no están incluidos en la distribución estándar de Perl. Su estructura está descentralizada. Los autores mantienen y mejoran sus propios módulos. Es común bifurcar y crear módulos competidores para la misma tarea o propósito. Existe un sistema de seguimiento de errores de terceros que se configura automáticamente para cualquier distribución cargada, pero los autores pueden optar por utilizar un sistema de seguimiento de errores diferente, como GitHub.. De manera similar, aunque GitHub es una ubicación popular para almacenar la fuente para distribuciones, puede almacenarse en cualquier lugar que el autor prefiera o puede que no sea de acceso público en absoluto. Los mantenedores pueden otorgar permisos a otros para mantener o hacerse cargo de sus módulos, y los administradores pueden otorgar permisos para aquellos que deseen hacerse cargo de los módulos abandonados. Las versiones anteriores de las distribuciones actualizadas se retienen en CPAN hasta que el cargador las elimina, y una red espejo secundaria llamada BackPAN retiene las distribuciones incluso si se eliminan de CPAN. [7] Además, el historial completo de CPAN y todos sus módulos está disponible como proyecto GitPAN, [8]permitiendo ver fácilmente el historial completo de todos los módulos y para un fácil mantenimiento de las horquillas. CPAN también se utiliza para distribuir nuevas versiones de Perl, así como proyectos relacionados, como Parrot y Raku .

Los archivos de CPAN se denominan distribuciones . Una distribución puede constar de uno o más módulos, archivos de documentación o programas empaquetados en un formato de archivo común, como un archivo tar comprimido con gzip o un archivo ZIP . Las distribuciones a menudo contienen scripts de instalación (generalmente llamados Makefile.PL o Build.PL ) y scripts de prueba que se pueden ejecutar para verificar que el contenido de la distribución esté funcionando correctamente. Las nuevas distribuciones se cargan en el servidor de carga de autores de Perl o en PAUSA (consulte la sección Carga de distribuciones con PAUSA ).


Logotipo de CPAN
Adam Kennedy en 2016