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
Compilado a mano
Paquetes
CPAN
A mano
Perl paquetes + Módulos paquetes
PROS• Buena estabilidad• Instalación fácil (e
integrada con el SO)
CONS• Perls antiguos• Módulos antiguos• Alguna distribución
gamberra
Perl paquetes + Modulos CPAN
PROS• Bleeding edge• Instalación fácil
CONS• Perls antiguos• Alguna distribución
gamberra• Peligro de cargarte
módulos del sistema
Perl paquetes + CPAN a mano
PROS• Bleeding edge
CONS• Perls antiguos• Alguna distribución
gamberra• Peligro de cargarte
módulos del sistema• A mano!!!
Modern
Paquetes
Perlbrew
Compilado a mano
Paquetes
local::lib
CPAN
A mano
Perlbrew + local::lib
PROS• Bleeding edge• Personalizar
compilación• Entorno aislado
CONS• Entornos no
reproducibles
Windows
• ActivePerl– PPM -> Paquetes
precompilados de modulos de CPAN
– No CPAN
• Strawberry Perl– 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.2monger@onion:~$ perlbrew available perl-5.15.8i 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.2monger@onion:~$ perlbrew switch perl-5.14.2monger@onion:~$ perlbrew list* perl-5.14.2monger@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@cursomonger@onion:~$ perlbrew use perl-5.14.2@cursomonger@onion:~$ perlbrew list perl-5.14.2* perl-5.14.2@curso
Dist::Zilla
monger@onion:~$ cpanm Dist::Zilla …monger@onion:~$ dzill setupmonger@onion:~$ dzill new App::Cursomonger@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-cpanmmonger@onion:~$ cpanm Date::Holidays::CA_ES
Herramientas de la comunidad
CPAN: Comprehensive Perl Archive Network
cpan.orgsearch.cpan.orgmetacpan.org
CPAN: Comprehensive Perl Archive Network
104.551 módulos de Perlen
24.391 distribucionesescritos por
9.569 autoresy replicado en
268 servidores
CPAN Testers
cpantesters.org
Bugsrt.cpan.org
¿Cómo contribuir?
Publicando módulos (http://pause.perl.org)
Participando en perlmonks.orgContribuyendo a módulos existentes
Reportando (y arreglando) bugsRealizando tests
Participando en la lista de mongers local…
Módulos interesantes - Core
CGIData::Dumper
File::*FindBin
Getopt::LongNet::*
Módulos interesantes
Template::ToolkitData::PrinterNet::Server
CatalystMojoliciousDBIx::Class
PlackLWP
WWW::Mechanize
Hemos dicho que hay casi 25.000 distribuciones?
Ejercicios
1. Instalar un perl 5.14.2 con perlbrew1. 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::Zilla1. Instalar el modulo con cpanm