SlideShare uma empresa Scribd logo
1 de 37
Baixar para ler offline
Seja um Perl core hacker
é (muito) mais fácil do que você pensa!




Breno G. de Oliveira
@garu_rj
Rituais de Passagem
Rituais de Passagem
“Alo, Mundo!”
Rituais de Passagem
“Alo, Mundo!”
Colocar um módulo no CPAN
Rituais de Passagem
“Alo, Mundo!”
Colocar um módulo no CPAN
Fazer seu próprio sistema de templates
Rituais de Passagem
“Alo, Mundo!”
Colocar um módulo no CPAN
Fazer seu próprio sistema de templates
Fazer seu próprio framework web
Rituais de Passagem
“Alo, Mundo!”
Colocar um módulo no CPAN
Fazer seu próprio sistema de templates
Fazer seu próprio framework web
Fazer seu próprio tratamento de exceções
Rituais de Passagem
“Alo, Mundo!”
Colocar um módulo no CPAN
Fazer seu próprio sistema de templates
Fazer seu próprio framework web
Fazer seu próprio tratamento de exceções
contribuir com o código do perl em si
Rituais de Passagem
“Alo, Mundo!”
Colocar um módulo no CPAN
Fazer seu próprio sistema de templates
Fazer seu próprio framework web
Fazer seu próprio tratamento de exceções
contribuir com o código do perl em si
Perl Core Hacking
Mitos do Core Hacking

Exige conhecimentos avançados de Perl
Precisa saber programar em C
Precisa dominar as entranhas do código
Precisa fazer parte do “clube”
FUD
Severidade dos tiquetes do Perl 5


                              5.1%
                               0.6%
        65.2%

                                 21.5%



                         7.6%




baixa    wishlist    outras           média            alta


                    https://rt.perl.org/rt3/NoAuth/perl5/Overview.html
Inalcançável? Nem tanto ;-)




                    perl5160delta
Minha primeira contribuição:

commit 959e56628cef2f8ac6555eee22b57e3ce02d9c7f
Author: Breno G. de Oliveira <garu@cpan.org>
Date: Sat May 19 09:29:11 2012 -0400

     minor tag consistency fixes for perldelta.pod
Você também pode
contribuir!
Você também pode
contribuir HOJE!
Repositório oficial:
% git clone git://perl5.git.perl.org/perl.git perl



ou... “Fork us on Github”!
https://github.com/mirrors/perl
% git clone git@github.com:mirrors/perl.git perl
% git pull
% perldoc Porting/todo.pod
Algumas Tarefas (todo.pod)
Corrigir erros de POD na documentação oficial
Automatizar geração do perldelta
Refatorar testes no t/ para usar o t/test.pl
Escrever descrição para todos os testes
code profiling no script “installman”
configurar instalações Windows usando PowerShell
...MUITO mais!
http://tiny.cc/perl5




“tíquetes que não precisam experiência
com C, perlguts ou sistemas operacionais”
Algumas Tarefas (RT)

Escrever diagnósticos não listados no perldiag.pod


registrar features experimentais no perlexperiment.pod


Escrever teste para cobertura do README


Criar hook no git commit para previnir mudanças na
“esquerda” de um merge
Já sei o que fazer!
Mas... e agora?
% git checkout blead
% git pull
% git checkout blead
% git pull
% git checkout -b meunome/descricao
% git checkout blead
% git pull
% git checkout -b meunome/descricao

<hack, hack, hack, ...>
% git checkout blead
% git pull
% git checkout -b meunome/descricao

<hack, hack, hack, ...>

% ./Configure -des -Dusedevel
% make test
% git checkout blead
% git pull
% git checkout -b meunome/descricao

<hack, hack, hack, ...>

% ./Configure -des -Dusedevel
% make test

Continue até os testes passarem :)
É a sua primeira vez?
Adicione-se no arquivo ‘AUTHORS’

% git diff AUTHORS
diff --git a/AUTHORS b/AUTHORS
index b448713..3a47bf2 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -149,6 +149,7 @@ Bradley Dean   <bjdean@bjdean.id.au>
 Bram                  <perl-rt@wizbit.be>
 Brendan O'Dea         <bod@debian.org>
 Brent B. Powers       <powers@ml.com>
+Breno G. de Oliveira <garu@cpan.org>
 Brent Dax             <brentdax@cpan.org>
 Brooks D Boyd
 Brian Callaghan       <callagh@itginc.com>

% make test_porting
% git commit -a
% git format-patch -M origin..

isso vai gerar um arquivo .patch
Envie seu .patch em um
email para perlbug@perl.org
Inclua uma descrição (em inglês!) das mudanças
SEU NOME AQUI
Mais informações (perldoc)

perlgit
- informações detalhadas sobre git e o repo Perl

perlhack
- como fuçar e editar o Perl

perlsource
- descreve a estrutura (árvore) do fonte do Perl
Obrigado!
Dúvidas?
    garu@cpan.org
  twitter.com/garu_rj
(bonus track)
Mergulhando de cabeça
Atenção: contém código C!

 perlinterp - visão geral do interpretador Perl

 perlguts - introdução à API do Perl

 suplemento: perlguts ilustrado:
 http://cpansearch.perl.org/src/RURBAN/illguts-0.42/index.html

 perlhacktut - exemplo de um patch simples em C

 perlhacktips - dicas para Perl core hacking em C

Mais conteúdo relacionado

Mais procurados

Um site em 5 minutos com bottle.py
Um site em 5 minutos com bottle.pyUm site em 5 minutos com bottle.py
Um site em 5 minutos com bottle.pyGiovane Liberato
 
Oficina postgresql avançado_consegi2010
Oficina postgresql avançado_consegi2010Oficina postgresql avançado_consegi2010
Oficina postgresql avançado_consegi2010Fabrízio Mello
 
Desmistificando web2py - #TDC2011
Desmistificando web2py - #TDC2011Desmistificando web2py - #TDC2011
Desmistificando web2py - #TDC2011Bruno Rocha
 
Deploy Heroku
Deploy HerokuDeploy Heroku
Deploy HerokuCreditas
 
Offline Web com Service Workers - Sérgio Lopes
Offline Web com Service Workers - Sérgio LopesOffline Web com Service Workers - Sérgio Lopes
Offline Web com Service Workers - Sérgio LopesCaelum
 

Mais procurados (7)

Um site em 5 minutos com bottle.py
Um site em 5 minutos com bottle.pyUm site em 5 minutos com bottle.py
Um site em 5 minutos com bottle.py
 
Oficina postgresql avançado_consegi2010
Oficina postgresql avançado_consegi2010Oficina postgresql avançado_consegi2010
Oficina postgresql avançado_consegi2010
 
Desmistificando web2py - #TDC2011
Desmistificando web2py - #TDC2011Desmistificando web2py - #TDC2011
Desmistificando web2py - #TDC2011
 
Deploy Heroku
Deploy HerokuDeploy Heroku
Deploy Heroku
 
Organizando a casa
Organizando a casaOrganizando a casa
Organizando a casa
 
A busca pelo deploy continuo
A busca pelo deploy continuoA busca pelo deploy continuo
A busca pelo deploy continuo
 
Offline Web com Service Workers - Sérgio Lopes
Offline Web com Service Workers - Sérgio LopesOffline Web com Service Workers - Sérgio Lopes
Offline Web com Service Workers - Sérgio Lopes
 

Semelhante a Seja um Perl Core Hacker - é (muito) mais fácil do que você pensa

Desenvolvimento Agil Com Doctrine Orm
Desenvolvimento Agil Com Doctrine OrmDesenvolvimento Agil Com Doctrine Orm
Desenvolvimento Agil Com Doctrine OrmGuilherme Blanco
 
Desenvolvendo para WordPress com Docker, Git e WP-CLI
Desenvolvendo para WordPress com Docker, Git e WP-CLIDesenvolvendo para WordPress com Docker, Git e WP-CLI
Desenvolvendo para WordPress com Docker, Git e WP-CLIRudá Almeida
 
EIIFRO2014 - Desenvolvimento Colaborativo de Software
EIIFRO2014 - Desenvolvimento Colaborativo de SoftwareEIIFRO2014 - Desenvolvimento Colaborativo de Software
EIIFRO2014 - Desenvolvimento Colaborativo de SoftwareAldson Diego
 
[4Soft] Git para iniciantes
[4Soft] Git para iniciantes[4Soft] Git para iniciantes
[4Soft] Git para iniciantes4Soft
 
Pog Nunca Mais - Técnicas e Macetes para o Desenvolvimento em PHP
Pog Nunca Mais - Técnicas e Macetes para o Desenvolvimento em PHPPog Nunca Mais - Técnicas e Macetes para o Desenvolvimento em PHP
Pog Nunca Mais - Técnicas e Macetes para o Desenvolvimento em PHPPaulino Michelazzo
 
Deploy automático em projeto PHP - PHPSPIMA 2016
Deploy automático em projeto PHP - PHPSPIMA 2016Deploy automático em projeto PHP - PHPSPIMA 2016
Deploy automático em projeto PHP - PHPSPIMA 2016Felipe Klerk Signorini
 
Falhando miseralvelmente com PHP
Falhando miseralvelmente com PHPFalhando miseralvelmente com PHP
Falhando miseralvelmente com PHPAugusto Pascutti
 
Python Brasil[9] - Entrega Contínua
Python Brasil[9] - Entrega Contínua Python Brasil[9] - Entrega Contínua
Python Brasil[9] - Entrega Contínua Renzo Nuccitelli
 
TDC2016POA | Trilha Infraestrutura - Produção nove vezes ao dia - Como um tim...
TDC2016POA | Trilha Infraestrutura - Produção nove vezes ao dia - Como um tim...TDC2016POA | Trilha Infraestrutura - Produção nove vezes ao dia - Como um tim...
TDC2016POA | Trilha Infraestrutura - Produção nove vezes ao dia - Como um tim...tdc-globalcode
 
performance em jQuery apps
performance em jQuery appsperformance em jQuery apps
performance em jQuery appsDavidson Fellipe
 
Organizandoacasa 120316203302-phpapp02
Organizandoacasa 120316203302-phpapp02Organizandoacasa 120316203302-phpapp02
Organizandoacasa 120316203302-phpapp02Fernanda Prezotto
 
Seu framework é melhor pra quê?
Seu framework é melhor pra quê?Seu framework é melhor pra quê?
Seu framework é melhor pra quê?Jaime Neto
 
Palestra DataFlow - II São Paulo Perl Workshop
Palestra DataFlow - II São Paulo Perl WorkshopPalestra DataFlow - II São Paulo Perl Workshop
Palestra DataFlow - II São Paulo Perl WorkshopAlexei Znamensky
 
Git na prática - Minicurso III SEICOM
Git na prática - Minicurso III SEICOMGit na prática - Minicurso III SEICOM
Git na prática - Minicurso III SEICOMKenner Kliemann
 
Joomla! do desktop ao datacenter
Joomla! do desktop ao datacenterJoomla! do desktop ao datacenter
Joomla! do desktop ao datacenterPaulino Michelazzo
 
O futuro do elephante: as promessas do php para 2019
O futuro do elephante: as promessas do php para 2019O futuro do elephante: as promessas do php para 2019
O futuro do elephante: as promessas do php para 2019Cassio Santos
 
IFSP 2015 - Cultura DevOps
IFSP 2015 - Cultura DevOpsIFSP 2015 - Cultura DevOps
IFSP 2015 - Cultura DevOpsLeonardo Comelli
 

Semelhante a Seja um Perl Core Hacker - é (muito) mais fácil do que você pensa (20)

Desenvolvimento Agil Com Doctrine Orm
Desenvolvimento Agil Com Doctrine OrmDesenvolvimento Agil Com Doctrine Orm
Desenvolvimento Agil Com Doctrine Orm
 
Git - Visão Geral
Git - Visão GeralGit - Visão Geral
Git - Visão Geral
 
Desenvolvendo para WordPress com Docker, Git e WP-CLI
Desenvolvendo para WordPress com Docker, Git e WP-CLIDesenvolvendo para WordPress com Docker, Git e WP-CLI
Desenvolvendo para WordPress com Docker, Git e WP-CLI
 
EIIFRO2014 - Desenvolvimento Colaborativo de Software
EIIFRO2014 - Desenvolvimento Colaborativo de SoftwareEIIFRO2014 - Desenvolvimento Colaborativo de Software
EIIFRO2014 - Desenvolvimento Colaborativo de Software
 
[4Soft] Git para iniciantes
[4Soft] Git para iniciantes[4Soft] Git para iniciantes
[4Soft] Git para iniciantes
 
Pog Nunca Mais - Técnicas e Macetes para o Desenvolvimento em PHP
Pog Nunca Mais - Técnicas e Macetes para o Desenvolvimento em PHPPog Nunca Mais - Técnicas e Macetes para o Desenvolvimento em PHP
Pog Nunca Mais - Técnicas e Macetes para o Desenvolvimento em PHP
 
Deploy automático em projeto PHP - PHPSPIMA 2016
Deploy automático em projeto PHP - PHPSPIMA 2016Deploy automático em projeto PHP - PHPSPIMA 2016
Deploy automático em projeto PHP - PHPSPIMA 2016
 
Falhando miseralvelmente com PHP
Falhando miseralvelmente com PHPFalhando miseralvelmente com PHP
Falhando miseralvelmente com PHP
 
Python Brasil[9] - Entrega Contínua
Python Brasil[9] - Entrega Contínua Python Brasil[9] - Entrega Contínua
Python Brasil[9] - Entrega Contínua
 
TDC2016POA | Trilha Infraestrutura - Produção nove vezes ao dia - Como um tim...
TDC2016POA | Trilha Infraestrutura - Produção nove vezes ao dia - Como um tim...TDC2016POA | Trilha Infraestrutura - Produção nove vezes ao dia - Como um tim...
TDC2016POA | Trilha Infraestrutura - Produção nove vezes ao dia - Como um tim...
 
Cakephp 2.0 - O que mudou
Cakephp 2.0 - O que mudouCakephp 2.0 - O que mudou
Cakephp 2.0 - O que mudou
 
performance em jQuery apps
performance em jQuery appsperformance em jQuery apps
performance em jQuery apps
 
HTML 5
HTML 5HTML 5
HTML 5
 
Organizandoacasa 120316203302-phpapp02
Organizandoacasa 120316203302-phpapp02Organizandoacasa 120316203302-phpapp02
Organizandoacasa 120316203302-phpapp02
 
Seu framework é melhor pra quê?
Seu framework é melhor pra quê?Seu framework é melhor pra quê?
Seu framework é melhor pra quê?
 
Palestra DataFlow - II São Paulo Perl Workshop
Palestra DataFlow - II São Paulo Perl WorkshopPalestra DataFlow - II São Paulo Perl Workshop
Palestra DataFlow - II São Paulo Perl Workshop
 
Git na prática - Minicurso III SEICOM
Git na prática - Minicurso III SEICOMGit na prática - Minicurso III SEICOM
Git na prática - Minicurso III SEICOM
 
Joomla! do desktop ao datacenter
Joomla! do desktop ao datacenterJoomla! do desktop ao datacenter
Joomla! do desktop ao datacenter
 
O futuro do elephante: as promessas do php para 2019
O futuro do elephante: as promessas do php para 2019O futuro do elephante: as promessas do php para 2019
O futuro do elephante: as promessas do php para 2019
 
IFSP 2015 - Cultura DevOps
IFSP 2015 - Cultura DevOpsIFSP 2015 - Cultura DevOps
IFSP 2015 - Cultura DevOps
 

Mais de garux

Introdução ao Perl 6
Introdução ao Perl 6Introdução ao Perl 6
Introdução ao Perl 6garux
 
Descobrindo a linguagem Perl
Descobrindo a linguagem PerlDescobrindo a linguagem Perl
Descobrindo a linguagem Perlgarux
 
Communities - Perl edition (RioJS)
Communities - Perl edition (RioJS)Communities - Perl edition (RioJS)
Communities - Perl edition (RioJS)garux
 
Game Development with SDL and Perl
Game Development with SDL and PerlGame Development with SDL and Perl
Game Development with SDL and Perlgarux
 
Perl Moderno, dia5
Perl Moderno, dia5Perl Moderno, dia5
Perl Moderno, dia5garux
 
Perl Moderno, dia4
Perl Moderno, dia4Perl Moderno, dia4
Perl Moderno, dia4garux
 
Perl Moderno, dia3
Perl Moderno, dia3Perl Moderno, dia3
Perl Moderno, dia3garux
 
Perl Moderno, dia2
Perl Moderno, dia2Perl Moderno, dia2
Perl Moderno, dia2garux
 
Perl Moderno, dia1
Perl Moderno, dia1Perl Moderno, dia1
Perl Moderno, dia1garux
 
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 Moosegarux
 
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 Perlgarux
 
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 Log4perlgarux
 
Novidades no Perl 5.10
Novidades no Perl 5.10Novidades no Perl 5.10
Novidades no Perl 5.10garux
 
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 Comandogarux
 

Mais de garux (15)

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)
 
Game Development with SDL and Perl
Game Development with SDL and PerlGame Development with SDL and Perl
Game Development with SDL and Perl
 
Perl Moderno, dia5
Perl Moderno, dia5Perl Moderno, dia5
Perl Moderno, dia5
 
Perl Moderno, dia4
Perl Moderno, dia4Perl Moderno, dia4
Perl Moderno, dia4
 
Perl Moderno, dia3
Perl Moderno, dia3Perl Moderno, dia3
Perl Moderno, dia3
 
Perl Moderno, dia2
Perl Moderno, dia2Perl Moderno, dia2
Perl Moderno, dia2
 
Perl Moderno, dia1
Perl Moderno, dia1Perl Moderno, dia1
Perl Moderno, dia1
 
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
 
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
 

Seja um Perl Core Hacker - é (muito) mais fácil do que você pensa

  • 1. Seja um Perl core hacker é (muito) mais fácil do que você pensa! Breno G. de Oliveira @garu_rj
  • 4. Rituais de Passagem “Alo, Mundo!” Colocar um módulo no CPAN
  • 5. Rituais de Passagem “Alo, Mundo!” Colocar um módulo no CPAN Fazer seu próprio sistema de templates
  • 6. Rituais de Passagem “Alo, Mundo!” Colocar um módulo no CPAN Fazer seu próprio sistema de templates Fazer seu próprio framework web
  • 7. Rituais de Passagem “Alo, Mundo!” Colocar um módulo no CPAN Fazer seu próprio sistema de templates Fazer seu próprio framework web Fazer seu próprio tratamento de exceções
  • 8. Rituais de Passagem “Alo, Mundo!” Colocar um módulo no CPAN Fazer seu próprio sistema de templates Fazer seu próprio framework web Fazer seu próprio tratamento de exceções contribuir com o código do perl em si
  • 9. Rituais de Passagem “Alo, Mundo!” Colocar um módulo no CPAN Fazer seu próprio sistema de templates Fazer seu próprio framework web Fazer seu próprio tratamento de exceções contribuir com o código do perl em si
  • 11. Mitos do Core Hacking Exige conhecimentos avançados de Perl Precisa saber programar em C Precisa dominar as entranhas do código Precisa fazer parte do “clube”
  • 12. FUD
  • 13. Severidade dos tiquetes do Perl 5 5.1% 0.6% 65.2% 21.5% 7.6% baixa wishlist outras média alta https://rt.perl.org/rt3/NoAuth/perl5/Overview.html
  • 14. Inalcançável? Nem tanto ;-) perl5160delta
  • 15. Minha primeira contribuição: commit 959e56628cef2f8ac6555eee22b57e3ce02d9c7f Author: Breno G. de Oliveira <garu@cpan.org> Date: Sat May 19 09:29:11 2012 -0400 minor tag consistency fixes for perldelta.pod
  • 16.
  • 19. Repositório oficial: % git clone git://perl5.git.perl.org/perl.git perl ou... “Fork us on Github”! https://github.com/mirrors/perl % git clone git@github.com:mirrors/perl.git perl
  • 20. % git pull % perldoc Porting/todo.pod
  • 21. Algumas Tarefas (todo.pod) Corrigir erros de POD na documentação oficial Automatizar geração do perldelta Refatorar testes no t/ para usar o t/test.pl Escrever descrição para todos os testes code profiling no script “installman” configurar instalações Windows usando PowerShell ...MUITO mais!
  • 22. http://tiny.cc/perl5 “tíquetes que não precisam experiência com C, perlguts ou sistemas operacionais”
  • 23. Algumas Tarefas (RT) Escrever diagnósticos não listados no perldiag.pod registrar features experimentais no perlexperiment.pod Escrever teste para cobertura do README Criar hook no git commit para previnir mudanças na “esquerda” de um merge
  • 24. Já sei o que fazer! Mas... e agora?
  • 25. % git checkout blead % git pull
  • 26. % git checkout blead % git pull % git checkout -b meunome/descricao
  • 27. % git checkout blead % git pull % git checkout -b meunome/descricao <hack, hack, hack, ...>
  • 28. % git checkout blead % git pull % git checkout -b meunome/descricao <hack, hack, hack, ...> % ./Configure -des -Dusedevel % make test
  • 29. % git checkout blead % git pull % git checkout -b meunome/descricao <hack, hack, hack, ...> % ./Configure -des -Dusedevel % make test Continue até os testes passarem :)
  • 30. É a sua primeira vez? Adicione-se no arquivo ‘AUTHORS’ % git diff AUTHORS diff --git a/AUTHORS b/AUTHORS index b448713..3a47bf2 100644 --- a/AUTHORS +++ b/AUTHORS @@ -149,6 +149,7 @@ Bradley Dean <bjdean@bjdean.id.au> Bram <perl-rt@wizbit.be> Brendan O'Dea <bod@debian.org> Brent B. Powers <powers@ml.com> +Breno G. de Oliveira <garu@cpan.org> Brent Dax <brentdax@cpan.org> Brooks D Boyd Brian Callaghan <callagh@itginc.com> % make test_porting
  • 31. % git commit -a % git format-patch -M origin.. isso vai gerar um arquivo .patch
  • 32. Envie seu .patch em um email para perlbug@perl.org Inclua uma descrição (em inglês!) das mudanças
  • 34. Mais informações (perldoc) perlgit - informações detalhadas sobre git e o repo Perl perlhack - como fuçar e editar o Perl perlsource - descreve a estrutura (árvore) do fonte do Perl
  • 35. Obrigado! Dúvidas? garu@cpan.org twitter.com/garu_rj
  • 37. Mergulhando de cabeça Atenção: contém código C! perlinterp - visão geral do interpretador Perl perlguts - introdução à API do Perl suplemento: perlguts ilustrado: http://cpansearch.perl.org/src/RURBAN/illguts-0.42/index.html perlhacktut - exemplo de um patch simples em C perlhacktips - dicas para Perl core hacking em C