Nunca trabalhei com mongo nem com couch.. mas até onde eu sei eles servem muito bem para poucos casos... não sei se vc já trabalhou com estes... caso não tenha trabalhado ainda, recomendo tester muito bem antes o que vc quer fazer, pq nosql funciona bem para casos bem específicos. ex, se vc precisar de transactions ou joins, pode esquecer nosql.. <br>
Até hoje eu nunca precisei utilizar nosql, mas se for a ferramenta certa eu com certeza irei nesse caminho.<br><br>Sorte ai, <br>Daqui um tempo quero ver vc de volta e concordar com minha afirmação que o catalyst é o melhor framework para web do momento! <br>
<br>att,<br><br>Hernan<br><br><br><br><div class="gmail_quote">2011/1/7 Rogerio Ferreira <span dir="ltr">&lt;<a href="mailto:rogeriotux@gmail.com">rogeriotux@gmail.com</a>&gt;</span><br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div>Hernan,</div>
<div> </div>
<div>Pô valeu pelo &quot;tutorial&quot; !</div>
<div> </div>
<div>O projeto que vou iniciar, vamos usar CouchDB.</div>
<div> </div>
<div>Hernan você já teve experiência usando Catalyst com CouchDB (ou MongoDB)?</div>
<div><br> </div>
<div class="gmail_quote">2011/1/7 Hernan Lopes <span dir="ltr">&lt;<a href="mailto:hernanlopes@gmail.com" target="_blank">hernanlopes@gmail.com</a>&gt;</span><div><div></div><div class="h5"><br>
<blockquote style="border-left: 1px solid rgb(204, 204, 204); margin: 0px 0px 0px 0.8ex; padding-left: 1ex;" class="gmail_quote">Catalyst é sem dúvidas o melhor framework web do momento. E vai continuar sendo por muito tempo. <br>
Vá em frente, você não vai se arrepender, ninguem se arrepende. <br>
Leia o manual do catalyst no cpan, lá tem tudo que você irá precisar inicialmente. A documentação é bastante farta e completa.<br>Recomendo HTML::FormHandler para trabalhar formulários web.<br>É bom se familiarizar também com DBIx::Class, conforme suas dúvidas forem aparecendo.... aqui estão todas as respostas para as questões de acesso a banco de dados... leia aqui antes de perguntar, garanto que a resposta está em alguma página do DBIx::Class.<br>

<br>Um exemplo de acesso à tabela produtos com DBIx::Class:<br><br>my $products = $c-&gt;model(&#39;DB::Product&#39;)<br>  -&gt;search({<br>    categoria =&gt; &#39;computadores&#39;,                              #traz tudo que é categoria computadores<br>

    preco =&gt; { &#39;&gt;=&#39;, 500 },                                        # traz tudo com preço &gt;= 500<br>    },{<br>      rows=&gt; 5,                                                       #opcional, a busca vai trazer limitar a 5 linhas<br>

      page=&gt; 1,                                                       #opcional,  vai trazer apenas esta página<br>      order_by =&gt; { -asc =&gt; [qw/created/] },               #opcional, vai ordenar por data de criação <br>

      });<br><br>ai vc pode fazer um loop nos produtos ex:<br><br> while (my $p = $products-&gt;next) {<br>    $c-&gt;log-&gt;debug(&#39;nome do produto&#39;, $p-&gt;nome );<br>    $c-&gt;log-&gt;debug(&#39;nome do produto&#39;, $p-&gt;categoria );<br>

    $c-&gt;log-&gt;debug(&#39;nome do produto&#39;, $p-&gt;preco );<br>    }<br><br>Se você percebeu, esses códigos seriam executados nos controllers... como seria isso em uma view ? o catalyst utiliza o Template::Toolkit, que tem um excelente manual tb: ex <a href="http://template-toolkit.org/docs/manual/VMethods.html#method_match" target="_blank">http://template-toolkit.org/docs/manual/VMethods.html#method_match</a><br>

<br>então seguindo o exemplo acima, vamos supor que eu selecionei os $products... então o próximo passo seria jogar esses $products no &quot;stash&quot; do catalyst.. <br>O &quot;stash&quot; é um espaço/hash reservado onde você pode armazenar dados que serão acessados em outros métodos/view/partes do código.<br>

Então para setar os $products no stash faremos o seguinte:<br><br>$c-&gt;stash(<br>products =&gt; $products,<br>template =&gt; &#39;template-legal.tt2&#39;,<br>current_view =&gt; &#39;TemplatePadrao&#39;,<br>);<br><br>pronto, eu poderia ir para outro método e acessar o $c-&gt;stash-&gt;{products} , ou, posso ir para minha View e acessá-lo, conforme o exemplo: <br>

<br>(no template-legal.tt2):<br><br>&lt;div&gt;<br>....<br>[% WHILE (product = products.next) %]<br>Nome: [% product.nome %]<br>Preço: [% product.preco %]<br>Categoria: [% product.categoria %]<br>[% END %]<br>....<br>&lt;/div&gt;<br>

<br><br><br>Ok, agora só falta um exemplo de formulário com HTML::FormHandler:<br><br>        my $form = HTML::FormHandler-&gt;new( <br>            field_list =&gt;   [<br><br>            nome =&gt; { <br>              type =&gt; &#39;Text&#39;, <br>

              label =&gt; &#39;Nome&#39;,<br>              required =&gt; 1,<br>              required_message =&gt; &#39;Campo obrigatório&#39; ,<br>            },<br><br>            sexo =&gt; { <br>              type =&gt; &#39;Select&#39;, <br>

              label =&gt; &#39;Sexo&#39;,<br>              required =&gt; 1,<br>              required_message =&gt; &#39;Campo obrigatório&#39; ,<br>              options =&gt; [<br>              { label =&gt; &#39;SIM&#39;, value =&gt; &#39;SIM&#39;},<br>

              { label =&gt; &#39;NÃO&#39;, value =&gt; &#39;NÃO&#39;},<br>              ],<br>            },<br><br>            submit =&gt; {<br>              type =&gt; &#39;Submit&#39;, <br>              value =&gt; &#39;Salvar&#39;,<br>

            },<br><br>            ]);<br><br><br><br><br><br>         if ($c-&gt;req-&gt;method eq &#39;POST&#39;) {                    #Assim podemos verificar o methodo do request<br>           $form-&gt;process( params =&gt; $c-&gt;req-&gt;params );              # E acessar as chaves/valores do formulario postado<br>

         }<br><br>         $c-&gt;stash( form =&gt; $form );                          # Jogamos o form no stash para acessar na view<br><br><br>         return unless $form-&gt;validated;                      # Tentamos validar o formulario<br>

<br>         $c-&gt;response-&gt;redirect($c-&gt;uri_for(&#39;/&#39;));               # e assim redirecionamos para a url /<br><br><br>Certo, depois para renderizar isto na view é muito simples... apenas:<br><br>&lt;div&gt;<br>

...<br>[% form.render %]<br>...<br>&lt;/div&gt;<br><br><br><br><br>Espero ter ajudado a visualizar um pouco como as coisas básicas funcionam.<br><br>Fora isso o resto é auto explicativo, catalyst é bastante direto e sem complicações. <br>

e conforme já foi dito, é possível criar aplicações simples e complexas.<br><br>dá gosto trabalhar com catalyst!!!o melhor framework web, sem dúvidas!<br><br>att<br><br>Hernan<br><br><br><br>
<div class="gmail_quote">2011/1/7 Blabos de Blebe <span dir="ltr">&lt;<a href="mailto:blabos@gmail.com" target="_blank">blabos@gmail.com</a>&gt;</span> 
<div>
<div></div>
<div><br>
<blockquote style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;" class="gmail_quote">Eu tenho usado bastante o Mojolicious::Lite para prototipação.<br><br>Experimentei brevemente o Dancer e gostei da documentação.<br>

<br>Mojo e Dancer tem uma curva de aprendizagem bem suave. Você passa o<br>olho na doc e sai fazendo.<br><br>Já o Catalyst, por ser mais parrudo é mais chatinho no começo, depois melhora.<br><br>...<br><br>Divagando...<br>

<br>Não que seja o caso, nem é o foco da thread e talvez até contextualize<br>o tom da brincadeira, mas se eu vejo uma frase começando com &#39;não me<br>importo em *ter que* X&#39;, ou &#39;não tenho *problema* em Y&#39;, acende aquele<br>

sinal de alerta.<br><br>*Se* passa pela cabeça a expressão &#39;ter que programar em Perl&#39; um<br>conselho que eu dou: *Não faça isso*.<br><br>Perl será uma linguagem iadequada, feia, cheia de caracteres<br>estranhos, write-only, não importa qual framework utilizado.<br>

<br>End of divagation<br>
<div>
<div></div>
<div><br>Abraços<br><br>2011/1/7 Rogerio Ferreira &lt;<a href="mailto:rogeriotux@gmail.com" target="_blank">rogeriotux@gmail.com</a>&gt;:<br>&gt; ,<br>&gt;<br>&gt; Eu não tenho problema em escrever em Perl, Python, ou outra coisa qualquer.<br>

&gt; Só quero escolher um framework pra acelerar as coisas pro Projeto que vou<br>&gt; iniciar.<br>&gt;<br>&gt; Mas já valeu pelo cases que o Breno passou que usam Catalyst.<br>&gt;<br>&gt; Em 7 de janeiro de 2011 15:13, Blabos de Blebe &lt;<a href="mailto:blabos@gmail.com" target="_blank">blabos@gmail.com</a>&gt; escreveu:<br>

&gt;&gt;<br>&gt;&gt; Escrever Perl é como sexo.<br>&gt;&gt;<br>&gt;&gt; Pode ser prazeroso ou dolorozo dependendo de como você fizer.<br>&gt;&gt;<br>&gt;&gt; Por isso é uma diversão melhor indicada para adultos que sabem o que<br>

&gt;&gt; estão fazendo :)<br>&gt;&gt;<br>&gt;&gt; Abraços<br>&gt;&gt;<br>&gt;&gt; 2011/1/7 Rogerio Ferreira &lt;<a href="mailto:rogeriotux@gmail.com" target="_blank">rogeriotux@gmail.com</a>&gt;:<br>&gt;&gt; &gt; Valeu Breno!<br>

&gt;&gt; &gt;<br>&gt;&gt; &gt; Como ainda não tomei a decisão sobre qual Framework vou usar, a sua<br>&gt;&gt; &gt; explanação vai dar alguma orientação. Mas vou fazer mais alguns testes<br>&gt;&gt; &gt; com o<br>&gt;&gt; &gt; Catalyst, e como não sou religioso de linguagem alguma, a pesar de já<br>

&gt;&gt; &gt; ter<br>&gt;&gt; &gt; sido com Python, quando desenvolvia com Zope/Plone, não me importo em<br>&gt;&gt; &gt; ter<br>&gt;&gt; &gt; que escrever código em Perl.<br>&gt;&gt; &gt;<br>&gt;&gt; &gt; Obrigado pelas informações.<br>

&gt;&gt; &gt;<br>&gt;&gt; &gt; Em 7 de janeiro de 2011 12:56, breno &lt;<a href="mailto:breno@rio.pm.org" target="_blank">breno@rio.pm.org</a>&gt; escreveu:<br>&gt;&gt; &gt;&gt;<br>&gt;&gt; &gt;&gt; 2011/1/7 Rogerio Ferreira &lt;<a href="mailto:rogeriotux@gmail.com" target="_blank">rogeriotux@gmail.com</a>&gt;:<br>

&gt;&gt; &gt;&gt; &gt; Oi Pessoal,<br>&gt;&gt; &gt;&gt; &gt;<br>&gt;&gt; &gt;&gt;<br>&gt;&gt; &gt;&gt; Oi Rogério, bem-vindo!<br>&gt;&gt; &gt;&gt;<br>&gt;&gt; &gt;&gt; &gt; Estou postando essa mensagem na lista, pois acredito que não lugar<br>

&gt;&gt; &gt;&gt; &gt; melhor<br>&gt;&gt; &gt;&gt; &gt; para chegar a uma conclusão. Já conheço alguns Frameworks, CMSs,<br>&gt;&gt; &gt;&gt; &gt; etc...,<br>&gt;&gt; &gt;&gt; &gt; e<br>&gt;&gt; &gt;&gt; &gt; algumas linguagens de scripting. Eu tenho um projeto para iniciar e<br>

&gt;&gt; &gt;&gt; &gt; andei<br>&gt;&gt; &gt;&gt; &gt; pesquisando sobre o Catalyst, apesar de conhecer Rails, e como não<br>&gt;&gt; &gt;&gt; &gt; gosto<br>&gt;&gt; &gt;&gt; &gt; muito de Django, a pesar de gostar de python, eu tenho pretensão de<br>

&gt;&gt; &gt;&gt; &gt; usar<br>&gt;&gt; &gt;&gt; &gt; o<br>&gt;&gt; &gt;&gt; &gt; Catalyst neste projeto. Por isso gostaria de saber de vocês, já que<br>&gt;&gt; &gt;&gt; &gt; aqui<br>&gt;&gt; &gt;&gt; &gt; é a<br>&gt;&gt; &gt;&gt; &gt; vossa praia, sobre suas experiências com o Framework, tais como:<br>

&gt;&gt; &gt;&gt; &gt; Agilidade<br>&gt;&gt; &gt;&gt; &gt; para Produzir Resultados, Performance, Manutenção de<br>&gt;&gt; &gt;&gt; &gt; Código Produzido e<br>&gt;&gt; &gt;&gt; &gt; projetos que já usam Catalyst em ambiente de grande demanda de<br>

&gt;&gt; &gt;&gt; &gt; acessos<br>&gt;&gt; &gt;&gt; &gt; simultaneos.<br>&gt;&gt; &gt;&gt; &gt;<br>&gt;&gt; &gt;&gt; &gt; Quem puder compartilhar comigo algo a respeito, eu ficarei grato.<br>&gt;&gt; &gt;&gt; &gt;<br>&gt;&gt; &gt;&gt;<br>

&gt;&gt; &gt;&gt; O Catalyst é um excelente framework, estável e robusto, e permite o<br>&gt;&gt; &gt;&gt; desenvolvimento de aplicações escaláveis desde a primeira linha de<br>&gt;&gt; &gt;&gt; código. De fato, ele foi projetado pra isso, então o primeiro<br>

&gt;&gt; &gt;&gt; resultado pode não ser tão rápido quando em um framework mais simples,<br>&gt;&gt; &gt;&gt; mas o quinto resultado será muito mais rápido e gratificante. Se vc<br>&gt;&gt; &gt;&gt; leu o XKCD dessa semana[<a href="http://xkcd.com/844/" target="_blank">http://xkcd.com/844/</a>], o Catalyst faz um<br>

&gt;&gt; &gt;&gt; esforço bastante válido e razoável pra ligar o &quot;code right&quot; com o<br>&gt;&gt; &gt;&gt; &quot;code fast&quot; (e, quem sabe, te tirar eventualmente do loop infinito e<br>&gt;&gt; &gt;&gt; levar ao mítico &quot;good code&quot;) :-)<br>

&gt;&gt; &gt;&gt;<br>&gt;&gt; &gt;&gt; A agilidade para produzir resultados, infelizmente, e<br>&gt;&gt; &gt;&gt; consequentemente, depende do seu grau de conhecimento. Mais ainda<br>&gt;&gt; &gt;&gt; (alguns diriam até que principalmente), é importante que ele se<br>

&gt;&gt; &gt;&gt; encaixe com seu modo de pensar. Como o Catalyst é a grande cola entre<br>&gt;&gt; &gt;&gt; soluções de templating e ORMs, vc precisa saber usar todas essas<br>&gt;&gt; &gt;&gt; pontas para chegar a resultados palpáveis. Do lado das Views temos o<br>

&gt;&gt; &gt;&gt; Template Toolkit como escolha da maioria. Já para o Model você pode ir<br>&gt;&gt; &gt;&gt; do robusto DBIx::Class a alternativas como MongoDB, CouchDB ou mesmo<br>&gt;&gt; &gt;&gt; KiokuDB.<br>&gt;&gt; &gt;&gt;<br>

&gt;&gt; &gt;&gt; Experimente fazer o<br>&gt;&gt; &gt;&gt; tutorial[<a href="http://search.cpan.org/perldoc?Catalyst::Manual::Tutorial" target="_blank">http://search.cpan.org/perldoc?Catalyst::Manual::Tutorial</a>] e<br>
&gt;&gt; &gt;&gt; ver se vc se sente confortável com o Catalyst. O tutorial cobre ainda<br>
&gt;&gt; &gt;&gt; o básico de Template Toolkit e DBIx::Class. Se gostar, pode comprar o<br>&gt;&gt; &gt;&gt; livro<br>&gt;&gt; &gt;&gt;<br>&gt;&gt; &gt;&gt; [<a href="http://www.amazon.co.uk/Definitive-Guide-Catalyst-Maintainable-Applications/dp/1430223650?&amp;camp=2486&amp;linkCode=wey&amp;tag=enligperlorga-21&amp;creative=8882" target="_blank">http://www.amazon.co.uk/Definitive-Guide-Catalyst-Maintainable-Applications/dp/1430223650?&amp;camp=2486&amp;linkCode=wey&amp;tag=enligperlorga-21&amp;creative=8882</a>].<br>

&gt;&gt; &gt;&gt; Se não gostar, não vale muito a pena insistir, e o mundo Perl está<br>&gt;&gt; &gt;&gt; cheio de alternativas bacanas para outros meios de pensar, como o<br>&gt;&gt; &gt;&gt; Mojolicious e o Dancer.<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; O desempenho de soluções web depende muito da infraestrutura por<br>&gt;&gt; &gt;&gt; baixo. Se vc vem de Rails, sabe que um bom hardware faz toda a<br>&gt;&gt; &gt;&gt; diferença, que o grande gargalo é o banco, e que muitas vezes sai mais<br>

&gt;&gt; &gt;&gt; em conta pagar por uma melhoria na infra do que pagar um ou mais devs<br>&gt;&gt; &gt;&gt; pra otimizar o código. Dito isso, sim, as facilidades oferecidas pelo<br>&gt;&gt; &gt;&gt; Catalyst compensam e muito o overhead que ele causa, ainda mais<br>

&gt;&gt; &gt;&gt; rodando em cima de um fastcgi.<br>&gt;&gt; &gt;&gt;<br>&gt;&gt; &gt;&gt; Ao contrário de muitas soluções, o Catalyst não coloca propaganda em<br>&gt;&gt; &gt;&gt; headers ou coisa que o valha, então é difícil listar sites com ele a<br>

&gt;&gt; &gt;&gt; menos que o dev procure a comunidade e avise. Se vc quer um exemplo de<br>&gt;&gt; &gt;&gt; &quot;projetos que já usam Catalyst em ambiente de grande demanda de<br>&gt;&gt; &gt;&gt; acessos simultânos&quot;, um bom exemplo é o YouPorn[<a href="http://www.youporn.com/" target="_blank">http://www.youporn.com</a><br>

&gt;&gt; &gt;&gt; - NSFW], que circula entre os 50 sites mais visitados do mundo. O<br>&gt;&gt; &gt;&gt; iPlayer da BBC não é muito conhecido aqui no Brasil, mas também é de<br>&gt;&gt; &gt;&gt; altíssimo tráfego.<br>&gt;&gt; &gt;&gt;<br>

&gt;&gt; &gt;&gt; Espero ter ajudado. Se sobrou alguma dúvida, tamos aí pra isso :-)<br>&gt;&gt; &gt;&gt;<br>&gt;&gt; &gt;&gt; []s<br>&gt;&gt; &gt;&gt;<br>&gt;&gt; &gt;&gt; -b<br>&gt;&gt; &gt;&gt; =begin disclaimer<br>&gt;&gt; &gt;&gt;   Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" target="_blank">http://sao-paulo.pm.org/</a><br>

&gt;&gt; &gt;&gt;  SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a><br>&gt;&gt; &gt;&gt;  L&lt;<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>&gt;<br>

&gt;&gt; &gt;&gt; =end disclaimer<br>&gt;&gt; &gt;<br>&gt;&gt; &gt;<br>&gt;&gt; &gt;<br>&gt;&gt; &gt; --<br>&gt;&gt; &gt; Rogerio Ferreira<br>&gt;&gt; &gt; <a href="http://rogerioferreira.objectis.net/" target="_blank">http://rogerioferreira.objectis.net</a><br>

&gt;&gt; &gt; <a href="http://www.howtoday.com.br/" target="_blank">http://www.howtoday.com.br</a><br>&gt;&gt; &gt; <a href="http://events.linuxfoundation.org/events/linuxcon-brazil/schedule" target="_blank">http://events.linuxfoundation.org/events/linuxcon-brazil/schedule</a><br>

&gt;&gt; &gt; <a href="http://www.xen.org/files/XDBrazil2010/SpeakerProfiles.pdf" target="_blank">http://www.xen.org/files/XDBrazil2010/SpeakerProfiles.pdf</a><br>&gt;&gt; &gt; Fone: (11) 9424-0419<br>&gt;&gt; &gt; --------------------------------------------------------<br>

&gt;&gt; &gt; LPI 302 (Mixed Environment) Specialty<br>&gt;&gt; &gt; Senior Level Linux Professional (LPIC-3)<br>&gt;&gt; &gt; Advanced Level Linux Professional (LPIC-2)<br>&gt;&gt; &gt; Junior Level Linux Professional (LPIC-1)<br>

&gt;&gt; &gt;<br>&gt;&gt; &gt; =begin disclaimer<br>&gt;&gt; &gt;   Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" target="_blank">http://sao-paulo.pm.org/</a><br>&gt;&gt; &gt;  SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a><br>

&gt;&gt; &gt;  L&lt;<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>&gt;<br>&gt;&gt; &gt; =end disclaimer<br>&gt;&gt; &gt;<br>&gt;&gt; &gt;<br>
&gt;&gt; =begin disclaimer<br>
&gt;&gt;   Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" target="_blank">http://sao-paulo.pm.org/</a><br>&gt;&gt;  SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a><br>

&gt;&gt;  L&lt;<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>&gt;<br>&gt;&gt; =end disclaimer<br>&gt;<br>&gt;<br>&gt;<br>&gt; --<br>&gt; Rogerio Ferreira<br>

&gt; <a href="http://rogerioferreira.objectis.net/" target="_blank">http://rogerioferreira.objectis.net</a><br>&gt; <a href="http://www.howtoday.com.br/" target="_blank">http://www.howtoday.com.br</a><br>&gt; <a href="http://events.linuxfoundation.org/events/linuxcon-brazil/schedule" target="_blank">http://events.linuxfoundation.org/events/linuxcon-brazil/schedule</a><br>

&gt; <a href="http://www.xen.org/files/XDBrazil2010/SpeakerProfiles.pdf" target="_blank">http://www.xen.org/files/XDBrazil2010/SpeakerProfiles.pdf</a><br>&gt; Fone: (11) 9424-0419<br>&gt; --------------------------------------------------------<br>

&gt; LPI 302 (Mixed Environment) Specialty<br>&gt; Senior Level Linux Professional (LPIC-3)<br>&gt; Advanced Level Linux Professional (LPIC-2)<br>&gt; Junior Level Linux Professional (LPIC-1)<br>&gt;<br>&gt; =begin disclaimer<br>

&gt;   Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" target="_blank">http://sao-paulo.pm.org/</a><br>&gt;  SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a><br>

&gt;  L&lt;<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>&gt;<br>&gt; =end disclaimer<br>&gt;<br>&gt;<br>=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" target="_blank">SaoPaulo-pm@pm.org</a><br> L&lt;<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>&gt;<br>

=end disclaimer<br></div></div></blockquote></div></div></div><br><br>=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" target="_blank">SaoPaulo-pm@pm.org</a><br>

 L&lt;<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>&gt;<br>=end disclaimer<br><br></blockquote></div></div></div><div><div></div><div class="h5">
<br><br clear="all"><br>-- <br>Rogerio Ferreira<br>
<a href="http://rogerioferreira.objectis.net/" target="_blank">http://rogerioferreira.objectis.net</a><br><a href="http://www.howtoday.com.br/" target="_blank">http://www.howtoday.com.br</a> 
<div><a href="http://events.linuxfoundation.org/events/linuxcon-brazil/schedule" target="_blank">http://events.linuxfoundation.org/events/linuxcon-brazil/schedule</a></div><a href="http://www.xen.org/files/XDBrazil2010/SpeakerProfiles.pdf" target="_blank">http://www.xen.org/files/XDBrazil2010/SpeakerProfiles.pdf</a><br>


<div>Fone: (11) 9424-0419<br></div>--------------------------------------------------------<br>LPI 302 (Mixed Environment) Specialty<br>Senior Level Linux Professional (LPIC-3)<br>Advanced Level Linux Professional (LPIC-2)<br>

Junior Level Linux Professional (LPIC-1) <br>
</div></div><br>=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&lt;<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>&gt;<br>
=end disclaimer<br>
<br></blockquote></div><br>