SlideShare uma empresa Scribd logo
Perl
Moderno.
Breno G. de Oliveira   garu@cpan.org
Bruno C. Buss          bbuss@cpan.org




                                        Perl Moderno
Dia #5


         Perl Moderno
Revisão

. Expressões Regulares
. Capture::Tiny pra capturar saída
. eval e Try::Tiny para exceções
. time, localtime e DateTime
. Path::Class, Config::Any e Log4perl
. Criando módulos (e exportando)
. Usando módulos locais (e importando)

                               Perl Moderno
(revisitando)



Criando Módulos



                  Perl Moderno
(revisitando)



Criando Módulos
      Distribuições


                  Perl Moderno
Module::Starter


             Perl Moderno
> module-starter
    --module=Meu::Modulo
    --author=“Meu Nome”
    --email=“meu@email”




                    Perl Moderno
Outros facilitadores para criação e
 atualização de módulos incluem
        Dist::Zilla e ShipIt


                             Perl Moderno
Documentação
    (POD)


          Perl Moderno
=pod

…

=cut
       Perl Moderno
=pod

=head1 SINOPSE

   use Meu::Modulo;
   minha_funcao( 42 );

=head1 FUNÇÕES

=head2 minha_funcao( NUMERO )

A função C<minha_funcao()> recebe B<SEMPRE>
Um número, e retorna I<verdadeiro> se o
número for maior que zero.

=cut
                                  Perl Moderno
Para facilitar a navegação pelo código,
 mova seu POD para o fim do arquivo,
    abaixo do demarcador __END__


                               Perl Moderno
Testes


         Perl Moderno
use Test::More;

use_ok( 'Meu::Modulo' );

my $var = minha_funcao();
ok( $var == 42, 'valor padrão' );
is( $var, 42, 'valor padrão' );

is_deeply(
    $var,
    { chave => [42,-1] },
    'valor padrão'
) or diag explain $var;

done_testing;
                                    Perl Moderno
Coloque seus testes no diretório
t de sua distribuição, e utilize o
comando prove para executá-los

        > prove ­lvr t/
                             Perl Moderno
Perl::Critic


               Perl Moderno
> perlcritic meuprog.pl




                    Perl Moderno
http://perlcritic.com
                    Perl Moderno
Perl::Tidy


             Perl Moderno
> perltidy meuprog.pl




                   Perl Moderno
Orientação
a Objetos


             Perl Moderno
package Meu::Modulo;

use 5.12.0;
use warnings;


sub minha_funcao {
  …
}

1;
                       Perl Moderno
package Meu::Modulo;

use 5.12.0;
use warnings;
use Moose;

sub minha_funcao {
  …
}

1;
                       Perl Moderno
package Meu::Modulo;

use 5.12.0;
use Moose;

sub minha_funcao {
  …
}

1;

                       Perl Moderno
package Meu::Modulo;

use 5.12.0;
use Moose;

sub minha_funcao {
  my $self = shift;
  …
}

1;
                       Perl Moderno
package Meu::Modulo;

use 5.12.0;
use Moose;

sub meu_metodo {
  my $self = shift;
  …
}

1;
                       Perl Moderno
package Meu::Modulo;

use 5.12.0;
use Moose;

sub meu_metodo {
  my ($self, @args) = @_;
  …
}

1;
                            Perl Moderno
package Meu::Modulo;
use 5.12.0;
use Moose;

has 'x', is => 'rw';

sub meu_metodo {
  my ($self, @args) = @_;
  …
}

1;



                            Perl Moderno
package Meu::Modulo;
use 5.12.0;
use Moose;

has 'x', is => 'rw', isa => 'Int';

sub meu_metodo {
  my ($self, @args) = @_;
  …
}

1;



                                     Perl Moderno
package Meu::Modulo;
use 5.12.0;
use Moose;

has 'x', is => 'rw', isa => 'Int', default => 0;

sub meu_metodo {
  my ($self, @args) = @_;
  …
}

1;



                                        Perl Moderno
package Meu::Modulo;
use 5.12.0;
use Moose;

has 'x' => (
   is      => 'rw',
   isa     => 'Int',
   default => 0,
);

sub meu_metodo {
  my ($self, @args) = @_;
  …
}

1;
                            Perl Moderno
use Meu::Modulo;

my $objeto = Meu::Modulo->new;

say $objeto->x;     # 0

$objeto->meu_metodo();

$objeto->x( 42 );

say $objeto->x; # 42



                                 Perl Moderno
use Meu::Modulo;

my $objeto = Meu::Modulo->new( x => 8 );

say $objeto->x;     # 8

$objeto->meu_metodo();

$objeto->x( 42 );

say $objeto->x; # 42



                               Perl Moderno
package Meu::Modulo;
use 5.12.0;
use Moose;

has 'x', is => 'rw', isa => 'Int', default => 0;

sub meu_metodo {
  my ($self, @args) = @_;
  …
}

1;



                                        Perl Moderno
package Meu::Modulo::Filho;
use 5.12.0;
use Moose;
extends 'Meu::Modulo';

before 'meu_metodo' => sub {
   say 'vou chamar o método!';
};

1;




                                 Perl Moderno
Meta-Object Protocol
      (MOP)



                 Perl Moderno
use Meu::Modulo;

my $objeto = Meu::Modulo->new;

$objeto->meta->add_method(
    'resposta' => sub { say 42 }
 );

$objeto->meta->remove_method('meu_metodo');

say $objeto->resposta;        # 42
say $objeto->meu_metodo;      # erro!




                                        Perl Moderno
package Meu::Modulo;
use 5.12.0;
use Moose;

has 'x', is => 'rw', isa => 'Int', default => 0;

sub meu_metodo {
  my ($self, @args) = @_;
  …
}


1;


                                        Perl Moderno
package Meu::Modulo;
use 5.12.0;
use Moose;

has 'x', is => 'rw', isa => 'Int', default => 0;

sub meu_metodo {
  my ($self, @args) = @_;
  …
}

Meu::Modulo->meta->make_immutable;
1;


                                        Perl Moderno
package Meu::Modulo;
use 5.12.0;
use Moose;

has 'x', is => 'rw', isa => 'Int', default => 0;

sub meu_metodo {
  my ($self, @args) = @_;
  …
}

Meu::Modulo->meta->make_immutable;



                                        Perl Moderno
package Meu::Modulo;
use 5.12.0;
use Moose;

has 'x', is => 'rw', isa => 'Int', default => 0;

sub meu_metodo {
  my ($self, @args) = @_;
  …
}

__PACKAGE__->meta->make_immutable;



                                        Perl Moderno
Moose é um Sistema de Objetos
 completo, estável e robusto, criado
a partir de lições de CLOS, Smalltalk,
    Perl 6, e muitos outros. Veja
       mais em Moose::Manual
                              Perl Moderno
Bancos de Dados



            Perl Moderno
use DBI;

my $dbh = DBI->connect(
   'dbi:mysql:database=BANCO;host=IP;port=PORTA',
   'meu_usuario',
   'minha_senha',
   { RaiseError => 1, AutoCommit => 1 }
);

my $sth = $dbh->prepare(
   'SELECT * FROM pessoas WHERE nome=?'
);

$sth->execute( $nome );

while( my $linha = $sth->fetchrow_hashref ) {
  say $linha->{idade};
}

$dbh->disconnect;

                                                Perl Moderno
use DBI;

my $dbh = DBI->connect(
   'dbi:Pg:database=BANCO;host=IP;port=PORTA',
   'meu_usuario',
   'minha_senha',
   { RaiseError => 1, AutoCommit => 1 }
);

my $sth = $dbh->prepare(
   'SELECT * FROM pessoas WHERE nome=?'
);

$sth->execute( $nome );

while( my $linha = $sth->fetchrow_hashref ) {
  say $linha->{idade};
}

$dbh->disconnect;

                                                Perl Moderno
use DBI;

my $dbh = DBI->connect(
   'dbi:Oracle:database=BANCO;host=IP;port=PORTA',
   'meu_usuario',
   'minha_senha',
   { RaiseError => 1, AutoCommit => 1 }
);

my $sth = $dbh->prepare(
   'SELECT * FROM pessoas WHERE nome=?'
);

$sth->execute( $nome );

while( my $linha = $sth->fetchrow_hashref ) {
  say $linha->{idade};
}

$dbh->disconnect;

                                                Perl Moderno
Veja DBIx::Class, Rose::DB::Object
      e Fey::ORM para modelos
objeto-relacionais, e SQL::Translator
 para conversão e SQL entre bancos

                              Perl Moderno
Web Crawling



           Perl Moderno
use WWW::Mechanize;

my $mech = WWW::Mechanize->new;

$mech->get('http://exemplo.com');

$mech->follow_link(text => 'Clique Aqui!');

$mech->submit_form( with_fields => {
    nome => 'Raul Seixas',
    idade => 10_000,
    apelido => 'Maluco Beleza',
});

say $mech->content;

                                       Perl Moderno
use Mojo::Client;

my $url = 'http://www.google.com/search?q=mojolicious';

Mojo::Client->new->get($url)
 ->res->dom->find('h3.r a')
 ->each( sub { say shift->all_text } );




                                           Perl Moderno
Não faça parsing de HTML com
 expressões regulares. Utilize
HTML::TreeBuilder, Mojo::DOM
       ou equivalentes

                          Perl Moderno
Web



      Perl Moderno
use Mojolicious::Lite;

get '/' => sub {
     my $self = shift;
     $self->render_text( 'Alo, Mundo!' );
};

app->start;




                                            Perl Moderno
> perl meuprog.pl daemon




                     Perl Moderno
use Mojolicious::Lite;

get '/:usuario' => sub {
     my $self = shift;
     my $nome = $self->param('usuario');
     $self->render_text( “Alo, $nome!” );
};

app->start;




                                            Perl Moderno
use Mojolicious::Lite;

get '/:usuario' => sub {
  my $self = shift;
  my $nome = $self->param('usuario');
  $self->stash( nome => $nome );
} => 'index';

app->start;
__DATA__
@@ index.html.ep
<html><body>
  Alo, <%= $nome %>
</body></html>

                                        Perl Moderno
Mojolicious é simples de usar e com
   muitos recursos. Dancer é também
uma alternativa popular. Mas o framework
  mais estável e robusto em Perl hoje
   chama-se Catalyst, usado em sites
   complexos e de altíssimo tráfego.
                               Perl Moderno
Obrigado!
Dúvidas?

           Perl Moderno

Mais conteúdo relacionado

Mais procurados

Php 02 Primeiros Passos
Php 02 Primeiros PassosPhp 02 Primeiros Passos
Php 02 Primeiros Passos
Regis Magalhães
 
Shell script
Shell scriptShell script
Shell script
Denis Costa
 
JasperReports
JasperReportsJasperReports
JasperReports
Vitor Mattos
 
Python Class
Python ClassPython Class
Python Class
Romualdo Andre
 
Introdução às Redes Neurais com PHP
Introdução às Redes Neurais com PHPIntrodução às Redes Neurais com PHP
Introdução às Redes Neurais com PHP
Otávio Calaça Xavier
 
Introdução ao Shell Script (versão estendida)
Introdução ao Shell Script (versão estendida)Introdução ao Shell Script (versão estendida)
Introdução ao Shell Script (versão estendida)
Hugo Maia Vieira
 
Orientação a Objetos em PHP
Orientação a Objetos em PHPOrientação a Objetos em PHP
Orientação a Objetos em PHP
zehzinho
 
PHP Básico - Parte 3
PHP Básico - Parte 3PHP Básico - Parte 3
PHP Básico - Parte 3
Marcus Camargo
 
Linguagem PHP
Linguagem PHPLinguagem PHP
Linguagem PHP
Bruno Cunha
 
Introducao ao Shell Script
Introducao ao Shell ScriptIntroducao ao Shell Script
Introducao ao Shell Script
Hugo Maia Vieira
 
LabMM4 (T13 - 12/13) - Funções
LabMM4 (T13 - 12/13) - FunçõesLabMM4 (T13 - 12/13) - Funções
LabMM4 (T13 - 12/13) - Funções
Carlos Santos
 
Palestra python
Palestra pythonPalestra python
Palestra python
Rony Cruch
 
Arrays PHP - Criação de sites II
Arrays PHP - Criação de sites IIArrays PHP - Criação de sites II
Arrays PHP - Criação de sites II
info_cimol
 
Al sweigart, cap 3
Al sweigart, cap 3Al sweigart, cap 3
PHP GERAL
PHP GERALPHP GERAL
PHP GERAL
Lucas Batistussi
 
Aula 5 PHP - Criação de sites II
Aula 5 PHP - Criação de sites IIAula 5 PHP - Criação de sites II
Aula 5 PHP - Criação de sites II
info_cimol
 
Introdução ao Ruby
Introdução ao RubyIntrodução ao Ruby
Introdução ao Ruby
Milton Moura
 
Minicurso Shell Script
Minicurso Shell ScriptMinicurso Shell Script
Minicurso Shell Script
Luís Eduardo
 
Poo com php
Poo com phpPoo com php
Php
PhpPhp

Mais procurados (20)

Php 02 Primeiros Passos
Php 02 Primeiros PassosPhp 02 Primeiros Passos
Php 02 Primeiros Passos
 
Shell script
Shell scriptShell script
Shell script
 
JasperReports
JasperReportsJasperReports
JasperReports
 
Python Class
Python ClassPython Class
Python Class
 
Introdução às Redes Neurais com PHP
Introdução às Redes Neurais com PHPIntrodução às Redes Neurais com PHP
Introdução às Redes Neurais com PHP
 
Introdução ao Shell Script (versão estendida)
Introdução ao Shell Script (versão estendida)Introdução ao Shell Script (versão estendida)
Introdução ao Shell Script (versão estendida)
 
Orientação a Objetos em PHP
Orientação a Objetos em PHPOrientação a Objetos em PHP
Orientação a Objetos em PHP
 
PHP Básico - Parte 3
PHP Básico - Parte 3PHP Básico - Parte 3
PHP Básico - Parte 3
 
Linguagem PHP
Linguagem PHPLinguagem PHP
Linguagem PHP
 
Introducao ao Shell Script
Introducao ao Shell ScriptIntroducao ao Shell Script
Introducao ao Shell Script
 
LabMM4 (T13 - 12/13) - Funções
LabMM4 (T13 - 12/13) - FunçõesLabMM4 (T13 - 12/13) - Funções
LabMM4 (T13 - 12/13) - Funções
 
Palestra python
Palestra pythonPalestra python
Palestra python
 
Arrays PHP - Criação de sites II
Arrays PHP - Criação de sites IIArrays PHP - Criação de sites II
Arrays PHP - Criação de sites II
 
Al sweigart, cap 3
Al sweigart, cap 3Al sweigart, cap 3
Al sweigart, cap 3
 
PHP GERAL
PHP GERALPHP GERAL
PHP GERAL
 
Aula 5 PHP - Criação de sites II
Aula 5 PHP - Criação de sites IIAula 5 PHP - Criação de sites II
Aula 5 PHP - Criação de sites II
 
Introdução ao Ruby
Introdução ao RubyIntrodução ao Ruby
Introdução ao Ruby
 
Minicurso Shell Script
Minicurso Shell ScriptMinicurso Shell Script
Minicurso Shell Script
 
Poo com php
Poo com phpPoo com php
Poo com php
 
Php
PhpPhp
Php
 

Semelhante a Perl Moderno, dia5

PHP Conference Brasil 2013 - Aplicações PHP 5.4 com componentes Aura
PHP Conference Brasil 2013 - Aplicações PHP 5.4 com componentes AuraPHP Conference Brasil 2013 - Aplicações PHP 5.4 com componentes Aura
PHP Conference Brasil 2013 - Aplicações PHP 5.4 com componentes Aura
Flávio Lisboa
 
Curso de Introdução - PHP
Curso de Introdução - PHPCurso de Introdução - PHP
Curso de Introdução - PHP
Evandro Klimpel Balmant
 
Dev Ext PHP
Dev Ext PHPDev Ext PHP
Dev Ext PHP
Andre Golvea
 
Migrando para o PHP 5
Migrando para o PHP 5Migrando para o PHP 5
Migrando para o PHP 5
ECRAYON Tecnologia Criativa
 
PHP: Linguagem + Mysql + MVC + AJAX
PHP: Linguagem + Mysql + MVC + AJAX PHP: Linguagem + Mysql + MVC + AJAX
PHP: Linguagem + Mysql + MVC + AJAX
Sérgio Souza Costa
 
As novidades do PHP5 (2005)
As novidades do PHP5 (2005)As novidades do PHP5 (2005)
As novidades do PHP5 (2005)
Pablo Dall'Oglio
 
Programação Orientada a Objetos (POO) com PHP - Parte 1
Programação Orientada a Objetos (POO) com PHP - Parte 1Programação Orientada a Objetos (POO) com PHP - Parte 1
Programação Orientada a Objetos (POO) com PHP - Parte 1
Israel Messias
 
Introducao a orientacao a objetos com PHP
Introducao a orientacao a objetos com PHPIntroducao a orientacao a objetos com PHP
Introducao a orientacao a objetos com PHP
guilhermemar
 
Aprofunde se no php 5.3
Aprofunde se no php 5.3Aprofunde se no php 5.3
Aprofunde se no php 5.3
Marcus Vinicius Leandro
 
Desenvolvimento ágil com Kohana framework
Desenvolvimento ágil com Kohana frameworkDesenvolvimento ágil com Kohana framework
Desenvolvimento ágil com Kohana framework
Marcelo Rodrigo
 
Código legado - PHP Conference Brasil - 2014
Código legado - PHP Conference Brasil - 2014Código legado - PHP Conference Brasil - 2014
Código legado - PHP Conference Brasil - 2014
Michael Castillo Granados
 
5 Maneiras de melhorar seu código PHP
5 Maneiras de melhorar seu código PHP5 Maneiras de melhorar seu código PHP
5 Maneiras de melhorar seu código PHP
Augusto das Neves
 
Aula 09 - Instruções preparadas e otimização de consultas do Mysql - Program...
Aula 09  - Instruções preparadas e otimização de consultas do Mysql - Program...Aula 09  - Instruções preparadas e otimização de consultas do Mysql - Program...
Aula 09 - Instruções preparadas e otimização de consultas do Mysql - Program...
Dalton Martins
 
Hello SAFE World!!!
Hello SAFE World!!!Hello SAFE World!!!
Hello SAFE World!!!
Everaldo Wanderlei Uavniczak
 
Pdo do PHP Palestra
Pdo do PHP PalestraPdo do PHP Palestra
Pdo do PHP Palestra
Bartolomeu S. Gusella
 
Qualidade no desenvolvimento de software com PHPUnit
Qualidade no desenvolvimento de software com PHPUnitQualidade no desenvolvimento de software com PHPUnit
Qualidade no desenvolvimento de software com PHPUnit
Diego Tremper
 
Zend Framework - PHPSP - 2009
Zend Framework - PHPSP - 2009Zend Framework - PHPSP - 2009
Zend Framework - PHPSP - 2009
silva.edgar
 
Desenvolvimento Rápido de Programas Linha de Comando
Desenvolvimento Rápido de Programas Linha de ComandoDesenvolvimento Rápido de Programas Linha de Comando
Desenvolvimento Rápido de Programas Linha de Comando
garux
 
PW03 - Programação Web PHP Arrays (Vetores)
PW03 - Programação Web PHP Arrays (Vetores)PW03 - Programação Web PHP Arrays (Vetores)
PW03 - Programação Web PHP Arrays (Vetores)
Silvano Oliveira
 
Desenvolvendo Extensões PECL
Desenvolvendo Extensões PECLDesenvolvendo Extensões PECL
Desenvolvendo Extensões PECL
W3P Projetos Web
 

Semelhante a Perl Moderno, dia5 (20)

PHP Conference Brasil 2013 - Aplicações PHP 5.4 com componentes Aura
PHP Conference Brasil 2013 - Aplicações PHP 5.4 com componentes AuraPHP Conference Brasil 2013 - Aplicações PHP 5.4 com componentes Aura
PHP Conference Brasil 2013 - Aplicações PHP 5.4 com componentes Aura
 
Curso de Introdução - PHP
Curso de Introdução - PHPCurso de Introdução - PHP
Curso de Introdução - PHP
 
Dev Ext PHP
Dev Ext PHPDev Ext PHP
Dev Ext PHP
 
Migrando para o PHP 5
Migrando para o PHP 5Migrando para o PHP 5
Migrando para o PHP 5
 
PHP: Linguagem + Mysql + MVC + AJAX
PHP: Linguagem + Mysql + MVC + AJAX PHP: Linguagem + Mysql + MVC + AJAX
PHP: Linguagem + Mysql + MVC + AJAX
 
As novidades do PHP5 (2005)
As novidades do PHP5 (2005)As novidades do PHP5 (2005)
As novidades do PHP5 (2005)
 
Programação Orientada a Objetos (POO) com PHP - Parte 1
Programação Orientada a Objetos (POO) com PHP - Parte 1Programação Orientada a Objetos (POO) com PHP - Parte 1
Programação Orientada a Objetos (POO) com PHP - Parte 1
 
Introducao a orientacao a objetos com PHP
Introducao a orientacao a objetos com PHPIntroducao a orientacao a objetos com PHP
Introducao a orientacao a objetos com PHP
 
Aprofunde se no php 5.3
Aprofunde se no php 5.3Aprofunde se no php 5.3
Aprofunde se no php 5.3
 
Desenvolvimento ágil com Kohana framework
Desenvolvimento ágil com Kohana frameworkDesenvolvimento ágil com Kohana framework
Desenvolvimento ágil com Kohana framework
 
Código legado - PHP Conference Brasil - 2014
Código legado - PHP Conference Brasil - 2014Código legado - PHP Conference Brasil - 2014
Código legado - PHP Conference Brasil - 2014
 
5 Maneiras de melhorar seu código PHP
5 Maneiras de melhorar seu código PHP5 Maneiras de melhorar seu código PHP
5 Maneiras de melhorar seu código PHP
 
Aula 09 - Instruções preparadas e otimização de consultas do Mysql - Program...
Aula 09  - Instruções preparadas e otimização de consultas do Mysql - Program...Aula 09  - Instruções preparadas e otimização de consultas do Mysql - Program...
Aula 09 - Instruções preparadas e otimização de consultas do Mysql - Program...
 
Hello SAFE World!!!
Hello SAFE World!!!Hello SAFE World!!!
Hello SAFE World!!!
 
Pdo do PHP Palestra
Pdo do PHP PalestraPdo do PHP Palestra
Pdo do PHP Palestra
 
Qualidade no desenvolvimento de software com PHPUnit
Qualidade no desenvolvimento de software com PHPUnitQualidade no desenvolvimento de software com PHPUnit
Qualidade no desenvolvimento de software com PHPUnit
 
Zend Framework - PHPSP - 2009
Zend Framework - PHPSP - 2009Zend Framework - PHPSP - 2009
Zend Framework - PHPSP - 2009
 
Desenvolvimento Rápido de Programas Linha de Comando
Desenvolvimento Rápido de Programas Linha de ComandoDesenvolvimento Rápido de Programas Linha de Comando
Desenvolvimento Rápido de Programas Linha de Comando
 
PW03 - Programação Web PHP Arrays (Vetores)
PW03 - Programação Web PHP Arrays (Vetores)PW03 - Programação Web PHP Arrays (Vetores)
PW03 - Programação Web PHP Arrays (Vetores)
 
Desenvolvendo Extensões PECL
Desenvolvendo Extensões PECLDesenvolvendo Extensões PECL
Desenvolvendo Extensões PECL
 

Mais de garux

Introdução ao Perl 6
Introdução ao Perl 6Introdução ao Perl 6
Introdução ao Perl 6
garux
 
Descobrindo a linguagem Perl
Descobrindo a linguagem PerlDescobrindo a linguagem Perl
Descobrindo a linguagem Perl
garux
 
Communities - Perl edition (RioJS)
Communities - Perl edition (RioJS)Communities - Perl edition (RioJS)
Communities - Perl edition (RioJS)
garux
 
Seja um Perl Core Hacker - é (muito) mais fácil do que você pensa
Seja um Perl Core Hacker - é (muito) mais fácil do que você pensaSeja um Perl Core Hacker - é (muito) mais fácil do que você pensa
Seja um Perl Core Hacker - é (muito) mais fácil do que você pensa
garux
 
Game Development with SDL and Perl
Game Development with SDL and PerlGame Development with SDL and Perl
Game Development with SDL and Perl
garux
 
Orientação a Objetos Elegante e Eficiente: Brevíssima Introdução ao Moose
Orientação a Objetos Elegante e Eficiente: Brevíssima Introdução ao MooseOrientação a Objetos Elegante e Eficiente: Brevíssima Introdução ao Moose
Orientação a Objetos Elegante e Eficiente: Brevíssima Introdução ao Moose
garux
 
Perl Quiz 2009 (YAPC::BR)
Perl Quiz 2009 (YAPC::BR)Perl Quiz 2009 (YAPC::BR)
Perl Quiz 2009 (YAPC::BR)
garux
 
Jogos em Perl
Jogos em PerlJogos em Perl
Jogos em Perl
garux
 
Logging e depuração enterprise-level com Log4perl
Logging e depuração enterprise-level com Log4perlLogging e depuração enterprise-level com Log4perl
Logging e depuração enterprise-level com Log4perl
garux
 
Novidades no Perl 5.10
Novidades no Perl 5.10Novidades no Perl 5.10
Novidades no Perl 5.10
garux
 

Mais de garux (10)

Introdução ao Perl 6
Introdução ao Perl 6Introdução ao Perl 6
Introdução ao Perl 6
 
Descobrindo a linguagem Perl
Descobrindo a linguagem PerlDescobrindo a linguagem Perl
Descobrindo a linguagem Perl
 
Communities - Perl edition (RioJS)
Communities - Perl edition (RioJS)Communities - Perl edition (RioJS)
Communities - Perl edition (RioJS)
 
Seja um Perl Core Hacker - é (muito) mais fácil do que você pensa
Seja um Perl Core Hacker - é (muito) mais fácil do que você pensaSeja um Perl Core Hacker - é (muito) mais fácil do que você pensa
Seja um Perl Core Hacker - é (muito) mais fácil do que você pensa
 
Game Development with SDL and Perl
Game Development with SDL and PerlGame Development with SDL and Perl
Game Development with SDL and Perl
 
Orientação a Objetos Elegante e Eficiente: Brevíssima Introdução ao Moose
Orientação a Objetos Elegante e Eficiente: Brevíssima Introdução ao MooseOrientação a Objetos Elegante e Eficiente: Brevíssima Introdução ao Moose
Orientação a Objetos Elegante e Eficiente: Brevíssima Introdução ao Moose
 
Perl Quiz 2009 (YAPC::BR)
Perl Quiz 2009 (YAPC::BR)Perl Quiz 2009 (YAPC::BR)
Perl Quiz 2009 (YAPC::BR)
 
Jogos em Perl
Jogos em PerlJogos em Perl
Jogos em Perl
 
Logging e depuração enterprise-level com Log4perl
Logging e depuração enterprise-level com Log4perlLogging e depuração enterprise-level com Log4perl
Logging e depuração enterprise-level com Log4perl
 
Novidades no Perl 5.10
Novidades no Perl 5.10Novidades no Perl 5.10
Novidades no Perl 5.10
 

Perl Moderno, dia5