SlideShare una empresa de Scribd logo
1 de 29
The
 Modern
  Perl
Toolchain
Cómo conseguir Perl
Hay gente que nunca ha instalado Perl
  – Viene preinstalado en casi todos los sabores
    de *N?X
El mundo *N?X tradicional


                    Paquetes
    Paquetes

                     CPAN
    Compilado
     a mano         A mano
Perl paquetes + Módulos paquetes
          PROS                     CONS
• Buena estabilidad      • Perls antiguos
• Instalación fácil (e   • Módulos antiguos
  integrada con el SO)   • Alguna distribución
                           gamberra
Perl paquetes + Modulos CPAN
          PROS                 CONS
• Bleeding edge       • Perls antiguos
• Instalación fácil   • Alguna distribución
                        gamberra
                      • Peligro de cargarte
                        módulos del sistema
Perl paquetes + CPAN a mano
          PROS                 CONS
• Bleeding edge   •   Perls antiguos
                  •   Alguna distribución
                      gamberra
                  •   Peligro de cargarte
                      módulos del sistema
                  •   A mano!!!
Modern

 Paquetes       Paquetes

                local::lib
 Perlbrew
                 CPAN
Compilado a
  mano          A mano
Perlbrew + local::lib
         PROS               CONS
• Bleeding edge     • Entornos no
• Personalizar        reproducibles
  compilación
• Entorno aislado
Windows
• ActivePerl           • Strawberry Perl
  – PPM -> Paquetes      – CPAN
    precompilados de
    modulos de CPAN
  – No CPAN
Perlbrew

 perlbrew.pl

 admin-free perl
   installation
management tool
Perlbrew - instalación
monger@onion:~$ wget --no-check-certificate
  -O - http://install.perlbrew.pl | bash

monger@onion:~$ source
  ~/perl5/perlbrew/etc/bashrc
Perlbrew - uso
monger@onion:~$ perlbrew available
  perl-5.15.8
  perl-5.14.2
  perl-5.12.4
  perl-5.10.1
  perl-5.8.9
  perl-5.6.2
  perl5.005_04
  perl5.004_05
  perl5.003_07
Perlbrew – instalar un perl
monger@onion:~$ perlbrew install perl-5.14.2
monger@onion:~$ perlbrew available
  perl-5.15.8
i perl-5.14.2
  perl-5.12.4
  perl-5.10.1
  perl-5.8.9
  perl-5.6.2
  perl5.005_04
  perl5.004_05
  perl5.003_07
Perlbrew – instalar un perl
monger@onion:~$   perlbrew list
 perl-5.14.2
monger@onion:~$   perlbrew switch perl-5.14.2
monger@onion:~$   perlbrew list
* perl-5.14.2
monger@onion:~$   perlbrew use perl-5.14.2
Perlbrew – instalar un perl


  #!/usr/bin/perl
#!/usr/bin/env perl
Perlbrew – local::lib

monger@onion:~$ perlbrew lib perl-5.14.2@curso
  lib 'perl-5.14.2@curso' is created.
monger@onion:~$ perlbrew list
* perl-5.14.2
  perl-5.14.2@curso
monger@onion:~$ perlbrew use perl-5.14.2@curso
monger@onion:~$ perlbrew list
  perl-5.14.2
* perl-5.14.2@curso
Dist::Zilla
monger@onion:~$   cpanm Dist::Zilla
  …
monger@onion:~$   dzill setup
monger@onion:~$   dzill new App::Curso
monger@onion:~$   dzill clean


            Y ya se puede empezar!
Dist::Zilla
Opciones útiles:

monger@onion:~$ dzill run bash

monger@onion:~$ dzill test

monger@onion:~$ dzil authordeps|cpanm
Cómo conseguir módulos
Ya tenemos Perl instalado. Y ahora, ¿cómo
conseguimos los módulos que necesitamos?
Cómo conseguir módulos


monger@onion:~$ perlbrew install-cpanm
monger@onion:~$ cpanm Date::Holidays::CA_ES
Herramientas de la
    comunidad
CPAN: Comprehensive Perl Archive
          Network
            cpan.org
         search.cpan.org
          metacpan.org
CPAN: Comprehensive Perl Archive
          Network
     104.551 módulos de Perl
                en
     24.391 distribuciones
            escritos por
         9.569 autores
           y replicado en
        268 servidores
CPAN Testers
cpantesters.org
Bugs
rt.cpan.org
¿Cómo contribuir?
Publicando módulos (http://pause.perl.org)
       Participando en perlmonks.org
   Contribuyendo a módulos existentes
      Reportando (y arreglando) bugs
               Realizando tests
 Participando en la lista de mongers local
                      …
Módulos interesantes - Core
             CGI
        Data::Dumper
            File::*
           FindBin
        Getopt::Long
            Net::*
Módulos interesantes
              Template::Toolkit
                Data::Printer
                Net::Server
                  Catalyst
                Mojolicious
                 DBIx::Class
                   Plack
                   LWP
              WWW::Mechanize

Hemos dicho que hay casi 25.000 distribuciones?
Ejercicios
1. Instalar un perl 5.14.2 con perlbrew
  1. Hacer un script que diga “Hello World!” y el
     intérprete de perl que lo ha ejecutado
2. Instalar Mojolicious en un local::lib llamado
   mojo
3. Instalar Catalyst, DBI, DBIx::Class y
   DBD::Sqlite en un local::lib llamado catalyst
4. Crear un nuevo modulo con Dist::Zilla
  1. Instalar el modulo con cpanm

Más contenido relacionado

La actualidad más candente

Docker introducción - Flisol 2015 Huancayo
Docker introducción - Flisol 2015 HuancayoDocker introducción - Flisol 2015 Huancayo
Docker introducción - Flisol 2015 HuancayoMario IC
 
Implementación Docker Swarm en Amazon Web Services usando Auto Scaling Groups...
Implementación Docker Swarm en Amazon Web Services usando Auto Scaling Groups...Implementación Docker Swarm en Amazon Web Services usando Auto Scaling Groups...
Implementación Docker Swarm en Amazon Web Services usando Auto Scaling Groups...Adrián Lois
 
BEEVA | Introducción a Docker
BEEVA | Introducción a DockerBEEVA | Introducción a Docker
BEEVA | Introducción a DockerBEEVA_es
 
Kubernetes technical overview and our experience at Restorando :: Buenos Aire...
Kubernetes technical overview and our experience at Restorando :: Buenos Aire...Kubernetes technical overview and our experience at Restorando :: Buenos Aire...
Kubernetes technical overview and our experience at Restorando :: Buenos Aire...Restorando
 
Docker Compose para el Docker Lima Meetup Mayo
Docker Compose para el Docker Lima Meetup MayoDocker Compose para el Docker Lima Meetup Mayo
Docker Compose para el Docker Lima Meetup MayoMario IC
 
Docker, kubernetes, openshift y openstack, para mi abuela. techfest 2017.pptx
Docker, kubernetes, openshift y openstack, para mi abuela. techfest 2017.pptxDocker, kubernetes, openshift y openstack, para mi abuela. techfest 2017.pptx
Docker, kubernetes, openshift y openstack, para mi abuela. techfest 2017.pptxParadigma Digital
 
Kubernetes - #dockerconlima
Kubernetes  - #dockerconlimaKubernetes  - #dockerconlima
Kubernetes - #dockerconlimaAngel Nuñez
 
Jenkins Pipeline - Seville JAM
Jenkins Pipeline - Seville JAMJenkins Pipeline - Seville JAM
Jenkins Pipeline - Seville JAMamunizmartin
 
Ccna security-ch2-securing-network-devices
Ccna security-ch2-securing-network-devicesCcna security-ch2-securing-network-devices
Ccna security-ch2-securing-network-devicesJavier H
 
Docker como la máxima expresión de Devops - WISIT 2015
Docker como la máxima expresión de Devops - WISIT 2015Docker como la máxima expresión de Devops - WISIT 2015
Docker como la máxima expresión de Devops - WISIT 2015Gustavo Andres Brey
 
Kubernetes - Container Orchestration, Deployment and Scaling
Kubernetes - Container Orchestration, Deployment and ScalingKubernetes - Container Orchestration, Deployment and Scaling
Kubernetes - Container Orchestration, Deployment and ScalingAngel Nuñez
 
Meetup de kubernetes, conceptos básicos.
Meetup  de kubernetes, conceptos básicos.Meetup  de kubernetes, conceptos básicos.
Meetup de kubernetes, conceptos básicos.Paradigma Digital
 

La actualidad más candente (20)

Guía de pgpool Paso a Paso
Guía de pgpool Paso a PasoGuía de pgpool Paso a Paso
Guía de pgpool Paso a Paso
 
Docker introducción - Flisol 2015 Huancayo
Docker introducción - Flisol 2015 HuancayoDocker introducción - Flisol 2015 Huancayo
Docker introducción - Flisol 2015 Huancayo
 
Implementación Docker Swarm en Amazon Web Services usando Auto Scaling Groups...
Implementación Docker Swarm en Amazon Web Services usando Auto Scaling Groups...Implementación Docker Swarm en Amazon Web Services usando Auto Scaling Groups...
Implementación Docker Swarm en Amazon Web Services usando Auto Scaling Groups...
 
1. configuracion del servidor dhcp en linux
1. configuracion del servidor dhcp en linux1. configuracion del servidor dhcp en linux
1. configuracion del servidor dhcp en linux
 
Pg pool cluster postgresql
Pg pool cluster postgresqlPg pool cluster postgresql
Pg pool cluster postgresql
 
BEEVA | Introducción a Docker
BEEVA | Introducción a DockerBEEVA | Introducción a Docker
BEEVA | Introducción a Docker
 
Kubernetes technical overview and our experience at Restorando :: Buenos Aire...
Kubernetes technical overview and our experience at Restorando :: Buenos Aire...Kubernetes technical overview and our experience at Restorando :: Buenos Aire...
Kubernetes technical overview and our experience at Restorando :: Buenos Aire...
 
Docker Compose para el Docker Lima Meetup Mayo
Docker Compose para el Docker Lima Meetup MayoDocker Compose para el Docker Lima Meetup Mayo
Docker Compose para el Docker Lima Meetup Mayo
 
Docker, kubernetes, openshift y openstack, para mi abuela. techfest 2017.pptx
Docker, kubernetes, openshift y openstack, para mi abuela. techfest 2017.pptxDocker, kubernetes, openshift y openstack, para mi abuela. techfest 2017.pptx
Docker, kubernetes, openshift y openstack, para mi abuela. techfest 2017.pptx
 
Presentación Docker
Presentación DockerPresentación Docker
Presentación Docker
 
Kubernetes - #dockerconlima
Kubernetes  - #dockerconlimaKubernetes  - #dockerconlima
Kubernetes - #dockerconlima
 
Introducción a Kubernetes
Introducción a KubernetesIntroducción a Kubernetes
Introducción a Kubernetes
 
Jenkins Pipeline - Seville JAM
Jenkins Pipeline - Seville JAMJenkins Pipeline - Seville JAM
Jenkins Pipeline - Seville JAM
 
Ccna security-ch2-securing-network-devices
Ccna security-ch2-securing-network-devicesCcna security-ch2-securing-network-devices
Ccna security-ch2-securing-network-devices
 
Docker como la máxima expresión de Devops - WISIT 2015
Docker como la máxima expresión de Devops - WISIT 2015Docker como la máxima expresión de Devops - WISIT 2015
Docker como la máxima expresión de Devops - WISIT 2015
 
Docker y PostgreSQL
Docker y PostgreSQLDocker y PostgreSQL
Docker y PostgreSQL
 
Kubernetes - Container Orchestration, Deployment and Scaling
Kubernetes - Container Orchestration, Deployment and ScalingKubernetes - Container Orchestration, Deployment and Scaling
Kubernetes - Container Orchestration, Deployment and Scaling
 
Introducción a Kotlin para desarrolladores Java
Introducción a Kotlin para desarrolladores JavaIntroducción a Kotlin para desarrolladores Java
Introducción a Kotlin para desarrolladores Java
 
Contenedores como Servicio con Docker
Contenedores como Servicio con DockerContenedores como Servicio con Docker
Contenedores como Servicio con Docker
 
Meetup de kubernetes, conceptos básicos.
Meetup  de kubernetes, conceptos básicos.Meetup  de kubernetes, conceptos básicos.
Meetup de kubernetes, conceptos básicos.
 

Similar a The modern perl toolchain

La Caja de Herramientas del Desarrollador Moderno PHPConferenceAR
La Caja de Herramientas del Desarrollador Moderno PHPConferenceARLa Caja de Herramientas del Desarrollador Moderno PHPConferenceAR
La Caja de Herramientas del Desarrollador Moderno PHPConferenceARPablo Godel
 
Cómo crear una distribución Linux
Cómo crear una distribución LinuxCómo crear una distribución Linux
Cómo crear una distribución LinuxMauro Parra-Miranda
 
Docker en el entorno de desarrollo
Docker en el entorno de desarrolloDocker en el entorno de desarrollo
Docker en el entorno de desarrolloAlejandro Hernández
 
Clusters Beowulf
Clusters BeowulfClusters Beowulf
Clusters Beowulfsrcid
 
Scripting para Pentesters v1.0
Scripting para Pentesters v1.0Scripting para Pentesters v1.0
Scripting para Pentesters v1.0wcuestas
 
MythTV Mediacenter on an IGEPv2
MythTV Mediacenter on an IGEPv2 MythTV Mediacenter on an IGEPv2
MythTV Mediacenter on an IGEPv2 marcoita
 
Madrid devops empaquetamientodeb_i
Madrid devops empaquetamientodeb_iMadrid devops empaquetamientodeb_i
Madrid devops empaquetamientodeb_iEduardo Ferro Aldama
 
Taller: Exploración de redes con Nmap
Taller: Exploración de redes con NmapTaller: Exploración de redes con Nmap
Taller: Exploración de redes con NmapWebsec México, S.C.
 
Desplegando Drupal con Capistrano
Desplegando Drupal con CapistranoDesplegando Drupal con Capistrano
Desplegando Drupal con CapistranoDavid Gil Sánchez
 
Compilacion del Kernel a la Debian
Compilacion del Kernel a la DebianCompilacion del Kernel a la Debian
Compilacion del Kernel a la DebianStefan Rivera
 
Stacks de HPC #FSL2014
Stacks de HPC #FSL2014Stacks de HPC #FSL2014
Stacks de HPC #FSL2014Andrés Abrego
 
Interchange How-To for Red Hat Linux ES4
Interchange How-To for Red Hat Linux ES4Interchange How-To for Red Hat Linux ES4
Interchange How-To for Red Hat Linux ES4David Ramirez
 

Similar a The modern perl toolchain (20)

La Caja de Herramientas del Desarrollador Moderno PHPConferenceAR
La Caja de Herramientas del Desarrollador Moderno PHPConferenceARLa Caja de Herramientas del Desarrollador Moderno PHPConferenceAR
La Caja de Herramientas del Desarrollador Moderno PHPConferenceAR
 
Cómo crear una distribución Linux
Cómo crear una distribución LinuxCómo crear una distribución Linux
Cómo crear una distribución Linux
 
Docker en el entorno de desarrollo
Docker en el entorno de desarrolloDocker en el entorno de desarrollo
Docker en el entorno de desarrollo
 
Clusters Beowulf
Clusters BeowulfClusters Beowulf
Clusters Beowulf
 
Open Build Service
Open Build ServiceOpen Build Service
Open Build Service
 
Composer
ComposerComposer
Composer
 
Scripting para Pentesters v1.0
Scripting para Pentesters v1.0Scripting para Pentesters v1.0
Scripting para Pentesters v1.0
 
Dbdeployer
DbdeployerDbdeployer
Dbdeployer
 
MythTV Mediacenter on an IGEPv2
MythTV Mediacenter on an IGEPv2 MythTV Mediacenter on an IGEPv2
MythTV Mediacenter on an IGEPv2
 
LXC, Docker, LXD &snaps
LXC, Docker, LXD &snapsLXC, Docker, LXD &snaps
LXC, Docker, LXD &snaps
 
Madrid devops empaquetamientodeb_i
Madrid devops empaquetamientodeb_iMadrid devops empaquetamientodeb_i
Madrid devops empaquetamientodeb_i
 
Taller: Exploración de redes con Nmap
Taller: Exploración de redes con NmapTaller: Exploración de redes con Nmap
Taller: Exploración de redes con Nmap
 
Composer & SemVer
Composer & SemVerComposer & SemVer
Composer & SemVer
 
Desplegando Drupal con Capistrano
Desplegando Drupal con CapistranoDesplegando Drupal con Capistrano
Desplegando Drupal con Capistrano
 
Curso linux clase_2_2012
Curso linux clase_2_2012Curso linux clase_2_2012
Curso linux clase_2_2012
 
Configuracion del servidor vsftpd en linux
Configuracion del servidor vsftpd en linuxConfiguracion del servidor vsftpd en linux
Configuracion del servidor vsftpd en linux
 
Compilacion del Kernel a la Debian
Compilacion del Kernel a la DebianCompilacion del Kernel a la Debian
Compilacion del Kernel a la Debian
 
Gestión Remota de Equipos con Python
Gestión Remota de Equipos con PythonGestión Remota de Equipos con Python
Gestión Remota de Equipos con Python
 
Stacks de HPC #FSL2014
Stacks de HPC #FSL2014Stacks de HPC #FSL2014
Stacks de HPC #FSL2014
 
Interchange How-To for Red Hat Linux ES4
Interchange How-To for Red Hat Linux ES4Interchange How-To for Red Hat Linux ES4
Interchange How-To for Red Hat Linux ES4
 

Más de Jose Luis Martínez

Más de Jose Luis Martínez (17)

Being cloudy with perl
Being cloudy with perlBeing cloudy with perl
Being cloudy with perl
 
Modern Perl toolchain (help building microservices)
Modern Perl toolchain (help building microservices)Modern Perl toolchain (help building microservices)
Modern Perl toolchain (help building microservices)
 
MooseX::Datamodel - Barcelona Perl Workshop Lightning talk
MooseX::Datamodel - Barcelona Perl Workshop Lightning talkMooseX::Datamodel - Barcelona Perl Workshop Lightning talk
MooseX::Datamodel - Barcelona Perl Workshop Lightning talk
 
Paws - Perl AWS SDK Update - November 2015
Paws - Perl AWS SDK Update - November 2015Paws - Perl AWS SDK Update - November 2015
Paws - Perl AWS SDK Update - November 2015
 
Paws - A Perl AWS SDK
Paws - A Perl AWS SDKPaws - A Perl AWS SDK
Paws - A Perl AWS SDK
 
Boosting MySQL (for starters)
Boosting MySQL (for starters)Boosting MySQL (for starters)
Boosting MySQL (for starters)
 
Plenv and carton
Plenv and cartonPlenv and carton
Plenv and carton
 
Building an aws sdk for Perl - Granada Perl Workshop 2014
Building an aws sdk for Perl - Granada Perl Workshop 2014Building an aws sdk for Perl - Granada Perl Workshop 2014
Building an aws sdk for Perl - Granada Perl Workshop 2014
 
Writing plugins for Nagios and Opsview - CAPSiDE Tech Talks
Writing plugins for Nagios and Opsview - CAPSiDE Tech TalksWriting plugins for Nagios and Opsview - CAPSiDE Tech Talks
Writing plugins for Nagios and Opsview - CAPSiDE Tech Talks
 
Escribir plugins para Nagios en Perl
Escribir plugins para Nagios en PerlEscribir plugins para Nagios en Perl
Escribir plugins para Nagios en Perl
 
NRD: Nagios Result Distributor
NRD: Nagios Result DistributorNRD: Nagios Result Distributor
NRD: Nagios Result Distributor
 
Perl and AWS
Perl and AWSPerl and AWS
Perl and AWS
 
Writing nagios plugins in perl
Writing nagios plugins in perlWriting nagios plugins in perl
Writing nagios plugins in perl
 
Ficheros y directorios
Ficheros y directoriosFicheros y directorios
Ficheros y directorios
 
DBIx::Class
DBIx::ClassDBIx::Class
DBIx::Class
 
DBI
DBIDBI
DBI
 
Introducción a las Expresiones Regulares
Introducción a las Expresiones RegularesIntroducción a las Expresiones Regulares
Introducción a las Expresiones Regulares
 

Último

Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxMariaBurgos55
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..RobertoGumucio2
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxJOSEMANUELHERNANDEZH11
 

Último (20)

Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptx
 

The modern perl toolchain

  • 1. The Modern Perl Toolchain
  • 2. Cómo conseguir Perl Hay gente que nunca ha instalado Perl – Viene preinstalado en casi todos los sabores de *N?X
  • 3. El mundo *N?X tradicional Paquetes Paquetes CPAN Compilado a mano A mano
  • 4. Perl paquetes + Módulos paquetes PROS CONS • Buena estabilidad • Perls antiguos • Instalación fácil (e • Módulos antiguos integrada con el SO) • Alguna distribución gamberra
  • 5. Perl paquetes + Modulos CPAN PROS CONS • Bleeding edge • Perls antiguos • Instalación fácil • Alguna distribución gamberra • Peligro de cargarte módulos del sistema
  • 6. Perl paquetes + CPAN a mano PROS CONS • Bleeding edge • Perls antiguos • Alguna distribución gamberra • Peligro de cargarte módulos del sistema • A mano!!!
  • 7. Modern Paquetes Paquetes local::lib Perlbrew CPAN Compilado a mano A mano
  • 8. Perlbrew + local::lib PROS CONS • Bleeding edge • Entornos no • Personalizar reproducibles compilación • Entorno aislado
  • 9. Windows • ActivePerl • Strawberry Perl – PPM -> Paquetes – CPAN precompilados de modulos de CPAN – No CPAN
  • 10. Perlbrew perlbrew.pl admin-free perl installation management tool
  • 11. Perlbrew - instalación monger@onion:~$ wget --no-check-certificate -O - http://install.perlbrew.pl | bash monger@onion:~$ source ~/perl5/perlbrew/etc/bashrc
  • 12. Perlbrew - uso monger@onion:~$ perlbrew available perl-5.15.8 perl-5.14.2 perl-5.12.4 perl-5.10.1 perl-5.8.9 perl-5.6.2 perl5.005_04 perl5.004_05 perl5.003_07
  • 13. Perlbrew – instalar un perl monger@onion:~$ perlbrew install perl-5.14.2 monger@onion:~$ perlbrew available perl-5.15.8 i perl-5.14.2 perl-5.12.4 perl-5.10.1 perl-5.8.9 perl-5.6.2 perl5.005_04 perl5.004_05 perl5.003_07
  • 14. Perlbrew – instalar un perl monger@onion:~$ perlbrew list perl-5.14.2 monger@onion:~$ perlbrew switch perl-5.14.2 monger@onion:~$ perlbrew list * perl-5.14.2 monger@onion:~$ perlbrew use perl-5.14.2
  • 15. Perlbrew – instalar un perl #!/usr/bin/perl #!/usr/bin/env perl
  • 16. Perlbrew – local::lib monger@onion:~$ perlbrew lib perl-5.14.2@curso lib 'perl-5.14.2@curso' is created. monger@onion:~$ perlbrew list * perl-5.14.2 perl-5.14.2@curso monger@onion:~$ perlbrew use perl-5.14.2@curso monger@onion:~$ perlbrew list perl-5.14.2 * perl-5.14.2@curso
  • 17. Dist::Zilla monger@onion:~$ cpanm Dist::Zilla … monger@onion:~$ dzill setup monger@onion:~$ dzill new App::Curso monger@onion:~$ dzill clean Y ya se puede empezar!
  • 18. Dist::Zilla Opciones útiles: monger@onion:~$ dzill run bash monger@onion:~$ dzill test monger@onion:~$ dzil authordeps|cpanm
  • 19. Cómo conseguir módulos Ya tenemos Perl instalado. Y ahora, ¿cómo conseguimos los módulos que necesitamos?
  • 20. Cómo conseguir módulos monger@onion:~$ perlbrew install-cpanm monger@onion:~$ cpanm Date::Holidays::CA_ES
  • 21. Herramientas de la comunidad
  • 22. CPAN: Comprehensive Perl Archive Network cpan.org search.cpan.org metacpan.org
  • 23. CPAN: Comprehensive Perl Archive Network 104.551 módulos de Perl en 24.391 distribuciones escritos por 9.569 autores y replicado en 268 servidores
  • 26. ¿Cómo contribuir? Publicando módulos (http://pause.perl.org) Participando en perlmonks.org Contribuyendo a módulos existentes Reportando (y arreglando) bugs Realizando tests Participando en la lista de mongers local …
  • 27. Módulos interesantes - Core CGI Data::Dumper File::* FindBin Getopt::Long Net::*
  • 28. Módulos interesantes Template::Toolkit Data::Printer Net::Server Catalyst Mojolicious DBIx::Class Plack LWP WWW::Mechanize Hemos dicho que hay casi 25.000 distribuciones?
  • 29. Ejercicios 1. Instalar un perl 5.14.2 con perlbrew 1. Hacer un script que diga “Hello World!” y el intérprete de perl que lo ha ejecutado 2. Instalar Mojolicious en un local::lib llamado mojo 3. Instalar Catalyst, DBI, DBIx::Class y DBD::Sqlite en un local::lib llamado catalyst 4. Crear un nuevo modulo con Dist::Zilla 1. Instalar el modulo con cpanm