Skip to content

Instantly share code, notes, and snippets.

@gabiruh
Forked from thiagorondon/gist:1249090
Created September 30, 2011 19:24
Show Gist options
  • Save gabiruh/1254733 to your computer and use it in GitHub Desktop.
Save gabiruh/1254733 to your computer and use it in GitHub Desktop.
São Paulo Perl Mongers FAQ

Este FAQ contém dúvidas frequentes que são questionadas na lista de discussão da São Paulo Perl Mongers. Caso tenha alguma pergunta nova, entre em contato com o mantenedor deste FAQ.

Regras:

  • Cada resposta pode conter no máximo 4096 caracteres.
  • Apenas uma resposta por autor.
  • Para incluir uma nova pergunta, deve ser debatido na lista de discussão se ela é pertinente ao documento, e quem vai tomar a decisão final é o líder do grupo (Russoz, sobrou para você).
  • O autor deve ter um ID no CPAN.
  • Este documento esta sobre Creative Commons.

Segue a lista dos contribuidores deste FAQ, eles estão listados por ordem alfabetica, e é utilizado a abreveação que esta logo a frente do nome para identificar quem respondeu as perguntas.

Sumário

  1. Comunidade Perl

1.0 Como contribuir com o FAQ ?

(TBR) (30/09/2011) - Você pode enviar um e-mail com sugestões, adições ou correções para a lista da São Paulo Perl Mongers (http://sao-paulo.pm.org/), utilizamos a lista do grupo para centralizar o esforço para construção deste FAQ.

1.1 O que são Perl Mongers ?

(TBR) (28/09/2011) - São grupos de usuários Perl localizados em determinados locais e que utilizam uma lista de discussão, IRC, realizam encontros sóciais e técnicos para debater sobre perl e tudo o que for interessante. Há uma listagem de grupos disponiveis no Brasil em http://www.pm.org/groups/brazil.html, porém os mais ativos atualmente é a São Paulo-PM (http://sao-paulo.pm.org) e a Rio-PM (http://rio.pm.org). Veja mais grupos no mundo em http://www.pm.org/.

1.2 Onde encontrar entusiastas de Perl ?

(TBR) (28/09/2011) - Um bom local são as listas de discussão, canais de IRC na rede irc.perl.org e encontros sociais e técnicos realizados pelos mongers.

1.3 Qual a última versão do Perl estável ?

(TBR) (28/09/2011) - Para saber a última versão disponível da linguagem Perl, acesse o site http://www.perl.org/.

1.4 Qual a melhor maneira para se instalar um módulo ?

(TBR) (28/09/2011) - O aplicativo mais simples para instalar módulos é o cpanminus (http://search.cpan.org/dist/App-cpanminus/). Porém, ele não vem por padrão na distribuição do Perl e por isto é necessário a instalação, em ambientes unix com acesso a Internet a linha de comando "curl -L http://cpanmin.us | perl - App::cpanminus" basta para instalar o aplicativo. Depois de instalado, basta digitar "cpanm" seguido do módulo que quer instalar, por exemplo: "cpanm Moose".

1.5 O que é Perl Moderno ?

(MAR) (30/09/2011) - Para esta pergunta há um livro (https://github.com/chromatic/modern_perl_book/), e ainda dentro deste assunto, o chromatic fez um post bacana, quem esta começando a programar Perl ou quer melhorar, recomendo http://www.modernperlbooks.com/mt/2011/09/how-to-learn-perl.html

  1. Sintaxe

  2. Soluções disponíveis em Perl

3.1 Monitoramento

(TBR) (28/09/2011) - Nagios provavelmente é a aplicação de monitoramento mais popular, no qual oferece vários recursos, tais como monitoração de rede ou recursos (opcionalmente com uso de hirarquia de recursos) e fácil desenvolvimento de plugins. Além de monitorar, há como definir controles sobre como isto será feito em relação ao volume de requisições há um determinado objetivo, assim como definir maneiras pró-ativas de tratar determinado evento em casos pré-determinados, e tudo isto com uma interface web ou em arquivos de logs para visualizar tudo o que acontece.

3.2 ORM e módulos para acesso a banco de dados.

(DAN) (28/10/2011) - São importantes porque eles fazem parte das boas práticas de Engenharia de Software (Livro Semantic Web, página 11), O DBIx::Class simplesmente mapeia o seu banco de dados relacional em classes usando objetos intermediários. (http://search.cpan.org/~abraxxa/DBIx-Class-0.08195/lib/DBIx/Class/Manual/Intro.pod)

3.3 Frameworks web.

(TBR) (28/09/2001) - Um tópico muito polemico, porém necessário de conter neste FAQ. Existem muitos frameworks web disponíveis no mundo Perl. Porém, na minha opinião é recomendado a utilização do Catalyst, por ser um framework maduro, com uma comunidade solida e com um universo de módulos ao redor muito bem organizado.

3.4 Programação Orientada objeto.

3.5 Eventos em Perl.

  1. XXX

4.1 Como reconhecer e processar estruturas textuais relativamente complexas? Ex: fórmulas matemáticas como: z^2 = ((1^(sqrt(zx))/(x^(x*y)))/e-(xy-235)^(1/2))/(8-(x^(y-1)))

(GAB) (30/09/2011) - Você pode se arriscar construir uma expressão regular imensa, que muito provavelmente só funcionará para um subconjunto limitado da estrutura do texto de entrada, ou pode usar o módulo Regexp::Grammars (https://metacpan.org/module/Regexp::Grammars).

Com ele é possível processar estruturas textuais complexas, hierárquicas e até recursivas. O Regexp::Grammars se aproveita de algumas novas funcionalidades introduzidas no Perl 5.10 para adicionar algumas extensões nas expressões regulares permitindo definir a estrutura dos dados de entrada usando construções em forma de gramáticas (http://www.engr.mun.ca/~theo/Misc/exp_parsing.htm).

No fim da operação você tem disponível na variável %/ seus dados hierarquicamente representados numa estrutura em árvore de hashes aninhados.

Vale a pena dar uma olhada nos exemplos da documentação e na pasta demo/ presente no diretório raiz do módulo.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment