1 - Apareceu uma expressão regular bizarra na minha vida, comofaz ?<div><br></div><div>Perl é famoso (e as vezes assustador) por seu incrível suporte *nativo* a </div><div>expressões regulares. </div><div><br></div><div>Infelizmente alguns programadores não utilizam recursos da liguagem para</div>

<div>tornar seu código mais legível, como o modificador //x[1], que permite você </div><div>segregar sua expressão em blocos, linhas, ou qualquer coisa que _humanos_</div><div>possam ler mais facilmente =D</div><div><br>
</div>
<div>Mas até para expressões bizarras, o CPAN tem solução, </div><div>YAPE::Regex::Explain[2], Agora  você não precisa mais temer =D</div><div><br></div><div><code></div><div><br></div><div><div>#!/usr/bin/perl</div>

<div>use feature 'say';</div><div>use YAPE::Regex::Explain;</div><div><br></div><div>my $regex = qr/<([^\s]+)(\s[^>]*?)?(?<!)>/;</div><div><br></div><div>say YAPE::Regex::Explain->new($regex)->explain;</div>

</div><div><br></div><div></code></div><div><br></div><div>[1] - <a href="http://perldoc.perl.org/perlretut.html#Building-a-regexp">http://perldoc.perl.org/perlretut.html#Building-a-regexp</a><br>[2] - <a href="https://metacpan.org/module/YAPE::Regex::Explain">https://metacpan.org/module/YAPE::Regex::Explain</a></div>

<div><br></div><div><br></div><div>2 - É díficil aprender Perl?[1]</div><div><br></div><div>Não, Perl é fácil de começar a aprender e a continuar aprendendo. Perl é </div><div>parecido com a maioria das linguagens de programação que vocẽ pode ter </div>

<div>tido experiência, então se você programa em C, AWK, shell script ou </div><div>mesmo BASIC, você ja está parcialmente lá.</div><div><br></div><div>Muitas tarefas somente requerem um pouco da linguagem Perl. Um dos </div>

<div>lemas do desenvolvimento Perl é "existe mais de um modo de faze-lo" </div><div>(TMTOWDI, as vezes pronunciado "tim toady"). Perl tem uma curva de </div><div>aprendizado rasa(fácil de aprender) e longa(há chão enquanto você quiser </div>

<div>caminhar).</div><div><br></div><div>Finalmente, porque Perl é frequentemente(mas não sempre, e certamente </div><div>não por definição) uma linguagem interpretada, você pode escrever seus </div><div>programas e testar sem o passo intermediário da compilação, permitindo </div>

<div>experimentar e testar/debugar fácil e rapidamente. Esta facilidade de </div><div>experimentar achata a curva de aprendizado ainda mais.</div><div><br></div><div>Coisas que tornam Perl fácil de aprender: experiência em Unix, quase </div>

<div>qualquer tipo de experiência de programação, entendimento de expressões</div><div>regulares, habilidade de entender código alheio. Se há algo que você precisa</div><div>fazer, isso provavelmente já foi feito e um exemplo funcional útil está </div>

<div>disponível. Não se esqueça de qualquer módulo Perl. Eles são discutidos</div><div>em outra parte do FAQ, juntamente com CPAN.</div><div><br></div><div>[1] - tradução livre do <a href="http://perldoc.perl.org/perlfaq1.html#Is-Perl-difficult-to-learn%3f">http://perldoc.perl.org/perlfaq1.html#Is-Perl-difficult-to-learn%3f</a></div>

<div><br><br>[]s,<br><br><div>@_marcioferreira</div><div>Marcio Ferreira</div><div><a href="http://marciodesouzaferreira.blogspot.com/" target="_blank">marciodesouzaferreira.blogspot.com</a><br><br></div><div><span style="font-family:sans-serif;line-height:16px"><span style="font-size:x-small">"<a style="text-decoration:none"><font color="#000000">Perl</font></a> lives as the 'toolbox for Unix' "</span></span></div>

<br>
<br><br><div class="gmail_quote">2011/10/17 Leonardo Ruoso <span dir="ltr"><<a href="mailto:leonardo@ruoso.com">leonardo@ruoso.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

Em Seg, 2011-10-17 às 19:08 -0200, Eden Cardim escreveu:<br>
<div class="im">> >>>>> "Leonardo" == Leonardo Ruoso <<a href="mailto:leonardo@ruoso.com">leonardo@ruoso.com</a>> writes:<br>
</div><div class="im">> Invés disso, use o App::cpanminus que é trivial de instalar, e que sabe<br>
> fazer instalações auto-contidas via local-lib:<br>
><br>
>     $ curl -L <a href="http://cpanmin.us" target="_blank">http://cpanmin.us</a> | perl - -L meusmodulos --self-upgrade<br>
>     $ cpanm -L meusmodulos local::lib Modulo::Um Modulo::Dois<br>
><br>
> e no seu programa:<br>
><br>
>   use local::lib 'meusmodulos';<br>
><br>
> São tremendas as possibilidades. Por exemplo, você pode distribuir um<br>
> diretório com a sua aplicação e um subdiretório contendo a instalação de<br>
> todas as dependências. O Miyagawa tá trabalhando num sistema chamado<br>
> carton pra facilitar ainda mais esse processo.<br>
><br>
>     Leonardo> ficar criando múltiplos chroot para poder instalar módulos<br>
>     Leonardo> Perl atualizados.<br>
><br>
> Preciso atravessar a rua, me dá carona na nave espacial? :D<br>
</div>Claro, dois palitos pra clonar minha VM Catalyst pré-configurada :-D<br>
<div class="im"><br>
--<br>
Leonardo Ruoso - Journalist/Perl Developer<br>
Media - UFC/2006 - Telecommunications - IFCE/1998<br>
<a href="mailto:leonardo@ruoso.com">leonardo@ruoso.com</a> - (11) 3522-9612<br>
Visit<br>
 - <a href="http://www.linkedin.com/in/lruoso" target="_blank">http://www.linkedin.com/in/lruoso</a> (professional profile)<br>
 - <a href="http://www.oktiva.com.br" target="_blank">http://www.oktiva.com.br</a> (company website)<br>
<br>
</div><div><div></div><div class="h5">=begin disclaimer<br>
   Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" target="_blank">http://sao-paulo.pm.org/</a><br>
 SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org">SaoPaulo-pm@pm.org</a><br>
 L<<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>><br>
=end disclaimer<br>
</div></div></blockquote></div><br></div>