the modern perl toolchain

Post on 24-Jun-2015

540 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

Tema: The modern perl toolchainCurso de Perl avanzado Barcelona.pm 2012

TRANSCRIPT

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

top related