<div dir="ltr">Responder nessa lista é dar soco em ponta de faca.<div>Andre respeito sua opinião, mas o "foda-se" fica pra você :p</div><div><br></div><div><br></div><div><br><div><div><br></div></div></div></div>
<div class="gmail_extra"><br><br><div class="gmail_quote">Em 27 de agosto de 2013 11:48,  <span dir="ltr"><<a href="mailto:ricardostock@bol.com.br" target="_blank">ricardostock@bol.com.br</a>></span> escreveu:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div dir="ltr">
<div dir="ltr">
<div style="font-size:10pt;font-family:'Verdana'">
<div>Galera, eu vejo assim.</div>
<div> </div>
<div>Se trocar 6 por meia dúzia esta certo ? –> errado, é mostrar ao cliente 
que esta fazendo algo quando na verdade não esta.</div>
<div> </div>
<div>Mexer no que esta funcionando esta errado ? –> errado, se fosse assim 
não passaríamos horas otimizando, buscando novas formas de melhorar nosso 
serviço e mostrar ao cliente que realmente estamos trabalhando.</div>
<div> </div>
<div>Quando comecei a aprender Perl, algo que nunca esqueci até hoje na capa do 
livro do Larry Wall foi “Existe mais de uma maneira de se fazer”;</div>
<div> </div>
<div>Tiago, concordo com você, se esta tosco não esta gostando mude, otimize, 
refaça, eu sigo algumas regras em meus códigos, e duas delas são:</div>
<div>    </div>
<div>-> Tem que estar funcionando...    Mas tem que estar 
funcionando ao meu agrado e de forma correta.</div>
<div> </div>
<div> </div>
<div>-> Se posso melhorar.... porque não tentar...</div>
<div> </div>
<div>Para mim todas as opniões são importantes.... mas nem todas são 
validas....</div>
<div> </div>
<div style="font-size:small;font-style:normal;text-decoration:none;font-family:'Calibri';display:inline;font-weight:normal">
<div style="FONT:10pt tahoma">
<div> </div>
<div style="BACKGROUND:#f5f5f5">
<div><b>From:</b> <a title="tiago.peczenyj@gmail.com" href="mailto:tiago.peczenyj@gmail.com" target="_blank">Tiago Peczenyj</a> </div>
<div><b>Sent:</b> Tuesday, August 27, 2013 11:30 AM</div>
<div><b>To:</b> <a title="saopaulo-pm@mail.pm.org" href="mailto:saopaulo-pm@mail.pm.org" target="_blank">saopaulo-pm@mail.pm.org</a> </div>
<div><b>Subject:</b> Re: [SP-pm] rodar coisas periodicas em 
perl</div></div></div>
<div> </div></div>
<div style="font-size:small;font-style:normal;text-decoration:none;font-family:'Calibri';display:inline;font-weight:normal"><div><div class="h5">
<div dir="ltr">calma galera tb não é pra tanto 
<div> </div>
<div>eu tava achando essa porrada de if (dois) dentro do meu while algo 
tosco</div>
<div> </div>
<div> </div></div>
<div class="gmail_extra"><br><br>
<div class="gmail_quote">2013/8/27 Andre Carneiro <span dir="ltr"><<a href="mailto:andregarciacarneiro@gmail.com" target="_blank">andregarciacarneiro@gmail.com</a>></span><br>
<blockquote style="BORDER-LEFT:#ccc 1px solid;MARGIN:0px 0px 0px 0.8ex;PADDING-LEFT:1ex" class="gmail_quote">
  <div dir="ltr">
  <div>Se o Tiago estivesse com pressa, ele diria! E duvido que faria isso da 
  maneira como vocês fizeram. </div>
  <div> </div>
  <div>Achei chato mesmo e foda-se! Essa é a minha opinião!</div>
  <div> </div>
  <div> </div>
  <div>Proost!</div>
  <div> </div></div>
  <div>
  <div>
  <div class="gmail_extra"><br><br>
  <div class="gmail_quote">2013/8/27 Blabos de Blebe <span dir="ltr"><<a href="mailto:blabos@gmail.com" target="_blank">blabos@gmail.com</a>></span><br>
  <blockquote style="BORDER-LEFT:#ccc 1px solid;MARGIN:0px 0px 0px 0.8ex;PADDING-LEFT:1ex" class="gmail_quote">
    <div dir="ltr">Na minha opinião, vc pode ter a sua opinião ;)</div>
    <div>
    <div>
    <div class="gmail_extra"><br><br>
    <div class="gmail_quote">2013/8/26 Lucas Moraes <span dir="ltr"><<a href="mailto:lucastiagodemoraes@gmail.com" target="_blank">lucastiagodemoraes@gmail.com</a>></span><br>
    <blockquote style="BORDER-LEFT:#ccc 1px solid;MARGIN:0px 0px 0px 0.8ex;PADDING-LEFT:1ex" class="gmail_quote">
      <div dir="ltr">Mas ficar procurando soluções que não vai mudar muito o 
      projeto é trocar 6 por meia duzia. Conhecimento nunca é demais mesmo, isso 
      é fato! Mas tem quantas coisas novas para aprender em milhões de outros 
      assuntos, o que adianta você aprender várias formas de fazer se o final 
      vai ser quase o mesmo ou o mesmo. Tempo custa dinheiro, não é porque você 
      tem tempo para achar uma solução melhor que você é obrigado a fazer, 
      aconselho a pessoa descansar a mente ou procurar algo novo para fazer. 
      Respeito sua opinião, mas vou defendo a minha opinião. Eu postei minha 
      opinião porque o código do Tiago não esta feio, o módulo AE apesar de eu 
      nunca ter usado, olhei no metacpan esta com 49++ até o momento. Lembrando 
      que é só uma opinião minha, não estou colocando o revolver na cabeça de 
      ninguém. Falou.</div>
      <div class="gmail_extra"><br><br>
      <div class="gmail_quote">Em 26 de agosto de 2013 16:41, Andre Carneiro <span dir="ltr"><<a href="mailto:andregarciacarneiro@gmail.com" target="_blank">andregarciacarneiro@gmail.com</a>></span> escreveu: 
      <div>
      <div><br>
      <blockquote style="BORDER-LEFT:#ccc 1px solid;MARGIN:0px 0px 0px 0.8ex;PADDING-LEFT:1ex" class="gmail_quote">
        <div dir="ltr">
        <div>Que feio!</div>
        <div> </div>Se houver prazo para pesquisa de novas soluções, eu não 
        vejo porque usar! Além do mais eu aprendi que conhecimento nunca é 
        demais. Então eu acho que essa nova visão agrega sim, e também qualquer 
        visão diferente sobre a solução do problema. Obrigado Lorn!  
        <div> </div>
        <div>Aprendi também, que desenvolvedor tem que resolver o problema da 
        melhor maneira possível! Que desempenho nunca é demais, e olhar para 
        coisas novas deveria ser um incentivo para fazer as coisas corretamente, 
        e não uma desculpa esfarrapada para resolver as coisas de qualquer 
        maneira, ou desprezar a opinião dos outros de maneira tão 
        grosseira.  
        <div> </div>
        <div>Proost!</div></div>
        <div> </div>
        <div> </div>
        <div> </div>
        <div> </div></div>
        <div class="gmail_extra">
        <div>
        <div><br><br>
        <div class="gmail_quote">2013/8/26 Lucas Moraes <span dir="ltr"><<a href="mailto:lucastiagodemoraes@gmail.com" target="_blank">lucastiagodemoraes@gmail.com</a>></span><br>
        <blockquote style="BORDER-LEFT:#ccc 1px solid;MARGIN:0px 0px 0px 0.8ex;PADDING-LEFT:1ex" class="gmail_quote">
          <div dir="ltr">Tiago se seu código esta funcionando deixa rodando. 
          Melhor código é aquele que atende as necessidades do cliente. Pare de 
          procurar problemas onde não existe :)</div>
          <div class="gmail_extra"><br><br>
          <div class="gmail_quote">Em 26 de agosto de 2013 11:33, Tiago Peczenyj 
          <span dir="ltr"><<a href="mailto:tiago.peczenyj@gmail.com" target="_blank">tiago.peczenyj@gmail.com</a>></span> escreveu: 
          <div>
          <div><br>
          <blockquote style="BORDER-LEFT:#ccc 1px solid;MARGIN:0px 0px 0px 0.8ex;PADDING-LEFT:1ex" class="gmail_quote">
            <div dir="ltr">não entendi</div>
            <div>
            <div>
            <div class="gmail_extra"><br><br>
            <div class="gmail_quote">2013/8/26 Daniel de Oliveira Mantovani <span dir="ltr"><<a href="mailto:daniel.oliveira.mantovani@gmail.com" target="_blank">daniel.oliveira.mantovani@gmail.com</a>></span><br>
            <blockquote style="BORDER-LEFT:#ccc 1px solid;MARGIN:0px 0px 0px 0.8ex;PADDING-LEFT:1ex" class="gmail_quote">Para de perder tempo com coisas banais que não 
              vão te agregar nada.<br><br>2013/8/26 Tiago Peczenyj <<a href="mailto:tiago.peczenyj@gmail.com" target="_blank">tiago.peczenyj@gmail.com</a>>:<br>
              <div>
              <div>> e?<br>><br>><br>> 2013/8/26 Daniel de Oliveira 
              Mantovani <<a href="mailto:daniel.oliveira.mantovani@gmail.com" target="_blank">daniel.oliveira.mantovani@gmail.com</a>><br>>><br>>> 
              Tiago, "Easy things should be easy, and hard things should 
              be<br>>> possible" - Larry Wall<br>>><br>>> 
              2013/8/26 Tiago Peczenyj <<a href="mailto:tiago.peczenyj@gmail.com" target="_blank">tiago.peczenyj@gmail.com</a>>:<br>>> > 
              Depois vcs me pagam uma cerveja e fica tudo sussa.<br>>> 
              ><br>>> ><br>>> > 2013/8/26 Lindolfo Lorn 
              Rodrigues <<a href="mailto:lorn@lornlab.org" target="_blank">lorn@lornlab.org</a>><br>>> 
              >><br>>> >> Antes que eu me esqueça: desculpe-me 
              se insultei.<br>>> >><br>>> >><br>>> 
              >> 2013/8/26 Lindolfo Lorn Rodrigues <<a href="mailto:lorn@lornlab.org" target="_blank">lorn@lornlab.org</a>><br>>> 
              >>><br>>> >>> Não quis insultar, apenas 
              dar outra visão para o problema :)<br>>> 
              >>><br>>> >>><br>>> 
              >>><br>>> >>> 2013/8/26 Tiago Peczenyj 
              <<a href="mailto:tiago.peczenyj@gmail.com" target="_blank">tiago.peczenyj@gmail.com</a>><br>>> 
              >>>><br>>> >>>> foi mal, agora eu 
              tenho algo como<br>>> >>>><br>>> 
              >>>> while(1){<br>>> 
              >>>>    # calcula<br>>> 
              >>>>    # if passou um minuto envia pro 
              zabbix<br>>> >>>>    # if passou 
              um dia reinicia o contador<br>>> 
              >>>>    sleep(1);<br>>> 
              >>>> }<br>>> >>>><br>>> 
              >>>> qualquer sugestão é bem vinda. de repente o 
              zabbix pode continuar com<br>>> >>>> 
              a<br>>> >>>> monitoria e posso usar o StatsD 
              para essas coisas novas, ainda mais<br>>> >>>> 
              se for<br>>> >>>> menos burocratico.<br>>> 
              >>>><br>>> >>>><br>>> 
              >>>> 2013/8/26 Stanislaw Pusep <<a href="mailto:creaktive@gmail.com" target="_blank">creaktive@gmail.com</a>><br>>> 
              >>>>><br>>> >>>>> Seja qual 
              for o seu objetivo, o código que você postou já está 
              feito<br>>> >>>>> e<br>>> 
              >>>>> funcionando bem, aparenemente.<br>>> 
              >>>>> "Eu mudaria boa parte do que você fez" e "Eu 
              usaria o Statsd para<br>>> >>>>> acumular o 
              valor e exportaria via graphite", seguido de "Eu não<br>>> 
              >>>>> entendi bem<br>>> >>>>> 
              o motivo de ficar rodando a cada segundo então vou chutar" é 
              um<br>>> >>>>> insulto a<br>>> 
              >>>>> sua inteligência, IMHO<br>>> 
              >>>>><br>>> >>>>><br>>> 
              >>>>> 2013/8/26 Tiago Peczenyj <<a href="mailto:tiago.peczenyj@gmail.com" target="_blank">tiago.peczenyj@gmail.com</a>><br>>> 
              >>>>>><br>>> >>>>>> 
              Explain creaktive<br>>> >>>>>><br>>> 
              >>>>>><br>>> >>>>>> 
              2013/8/26 Stanislaw Pusep <<a href="mailto:creaktive@gmail.com" target="_blank">creaktive@gmail.com</a>><br>>> 
              >>>>>>><br>>> 
              >>>>>>> Overengineering detected!<br>>> 
              >>>>>>><br>>> 
              >>>>>>><br>>> 
              >>>>>>> 2013/8/26 Lindolfo Lorn Rodrigues 
              <<a href="mailto:lorn@lornlab.org" target="_blank">lorn@lornlab.org</a>><br>>> 
              >>>>>>>><br>>> 
              >>>>>>>> Eu mudaria boa parte do que você 
              fez.<br>>> >>>>>>>><br>>> 
              >>>>>>>> Não sei qual problema que você 
              está tentando resolver com isso,<br>>> 
              >>>>>>>> por<br>>> 
              >>>>>>>> isso tudo<br>>> 
              >>>>>>>> isso aqui será uma mega hipotese, 
              se puder dizer qual o problema<br>>> 
              >>>>>>>> está tentando<br>>> 
              >>>>>>>> resolver, seria legal 
              :)<br>>> >>>>>>>><br>>> 
              >>>>>>>> Eu usaria o Statsd para acumular 
              o valor e exportaria via<br>>> 
              >>>>>>>> graphite.<br>>> 
              >>>>>>>><br>>> 
              >>>>>>>> Eu não entendi bem o motivo de 
              ficar rodando a cada segundo então<br>>> 
              >>>>>>>> vou chutar:<br>>> 
              >>>>>>>><br>>> 
              >>>>>>>> Você que capturar ações de 
              usuário/sistema em algum lugar?<br>>> 
              >>>>>>>><br>>> 
              >>>>>>>> Caso sim, você poderia colocar 
              esse codigo logo depois a ação do<br>>> 
              >>>>>>>> usuário/sistema:<br>>> 
              >>>>>>>><br>>> 
              >>>>>>>> my $statsd = 
              Etsy::StatsD->new<br>>> >>>>>>>> 
              my $bucket = "pacman.hit_number"<br>>> 
              >>>>>>>> 
              $statsd->increment($bucket);<br>>> 
              >>>>>>>><br>>> 
              >>>>>>>> O stasd usa UDP, não vai alterar 
              em nada perceptivo na<br>>> >>>>>>>> 
              perfomance,<br>>> >>>>>>>> do seu 
              sistema.<br>>> >>>>>>>><br>>> 
              >>>>>>>> Mandando o contador acima para o 
              statsd ele irá acumular e mandar<br>>> 
              >>>>>>>> para o graphite,<br>>> 
              >>>>>>>> no graphite com o dado cru você 
              pode criar várias operações de<br>>> 
              >>>>>>>> estatistica<br>>> 
              >>>>>>>> ( mediana, media, percentile..etc 
              ) e gerar graficos.<br>>> 
              >>>>>>>><br>>> 
              >>>>>>>><br>>> 
              >>>>>>>><br>>> 
              >>>>>>>> <a href="http://graphite.readthedocs.org/en/0.9.10/functions.html#module-graphite.render.functions" target="_blank">http://graphite.readthedocs.org/en/0.9.10/functions.html#module-graphite.render.functions</a><br>
>> 
              >>>>>>>><br>>> 
              >>>>>>>> O Statsd suporta vários backend o 
              mais conhecido/usado deles é o<br>>> 
              >>>>>>>> Graphite:<br>>> 
              >>>>>>>> <a href="http://graphite.wikidot.com/screen-shots" target="_blank">http://graphite.wikidot.com/screen-shots</a><br>>> 
              >>>>>>>><br>>> 
              >>>>>>>> A Etsy tem um post explicando 
              melhor a "metodologia" deles de<br>>> 
              >>>>>>>> medir<br>>> 
              >>>>>>>> tudo:<br>>> 
              >>>>>>>><br>>> 
              >>>>>>>><br>>> 
              >>>>>>>><br>>> 
              >>>>>>>> <a href="http://codeascraft.com/2011/02/15/measure-anything-measure-everything/" target="_blank">http://codeascraft.com/2011/02/15/measure-anything-measure-everything/</a><br>
>> 
              >>>>>>>> <a href="https://github.com/etsy/statsd" target="_blank">https://github.com/etsy/statsd</a><br>>> 
              >>>>>>>><br>>> 
              >>>>>>>> PS: O Statsd teve origem no 
              Flickr, e a primeira versão era em<br>>> 
              >>>>>>>> Perl<br>>> 
              >>>>>>>> recentemente eles<br>>> 
              >>>>>>>> liberaram o código 
              fonte:<br>>> >>>>>>>><br>>> 
              >>>>>>>> <a href="https://github.com/iamcal/Flickr-StatsD" target="_blank">https://github.com/iamcal/Flickr-StatsD</a><br>>> 
              >>>>>>>><br>>> 
              >>>>>>>><br>>> 
              >>>>>>>><br>>> 
              >>>>>>>> 2013/8/26 Stanislaw Pusep <<a href="mailto:creaktive@gmail.com" target="_blank">creaktive@gmail.com</a>><br>>> 
              >>>>>>>>><br>>> 
              >>>>>>>>> Use AE::time() no lugar do 
              localtime<br>>> 
              >>>>>>>>><br>>> 
              >>>>>>>>> понедельник, 26 августа 2013 
              г. пользователь Tiago Peczenyj<br>>> 
              >>>>>>>>> писал:<br>>> 
              >>>>>>>>><br>>> 
              >>>>>>>>>> Ola<br>>> 
              >>>>>>>>>><br>>> 
              >>>>>>>>>> Eu tenho o seguinte 
              caso<br>>> 
              >>>>>>>>>><br>>> 
              >>>>>>>>>> preciso rodar um certo 
              método a cada segundo, que por sua vez<br>>> 
              >>>>>>>>>> acumula um valor em algum 
              atributo interno do objeto ( total +=<br>>> 
              >>>>>>>>>> por exemplo<br>>> 
              >>>>>>>>>> ).<br>>> 
              >>>>>>>>>><br>>> 
              >>>>>>>>>> a cada minuto quero 
              enviar o valor de total para algum lugar<br>>> 
              >>>>>>>>>> (ex<br>>> 
              >>>>>>>>>> Zabbix).<br>>> 
              >>>>>>>>>><br>>> 
              >>>>>>>>>> a meia noite eu quero 
              limpar o total para 0.<br>>> 
              >>>>>>>>>><br>>> 
              >>>>>>>>>> Eu cheguei a algo 
              assim:<br>>> >>>>>>>>>> use 
              AnyEvent;<br>>> 
              >>>>>>>>>><br>>> 
              >>>>>>>>>> sub loop {<br>>> 
              >>>>>>>>>> my $obj   = 
              Foo->new;<br>>> >>>>>>>>>> 
              my $cv    = AE::cv;<br>>> 
              >>>>>>>>>><br>>> 
              >>>>>>>>>> my $seconds_in_a_day = 60 
              * 60 * 24;<br>>> >>>>>>>>>> my 
              $seconds_to_midnight =  $seconds_in_a_day -<br>>> 
              >>>>>>>>>> 
              seconds_from_midnight();<br>>> 
              >>>>>>>>>><br>>> 
              >>>>>>>>>> my $loop = 
              AE::timer  0, 1,  sub { $obj->run   
              };<br>>> 
              >>>>>>>>>><br>>> 
              >>>>>>>>>> my $send = 
              AE::timer  60, 60,  sub { $obj->send  
              };<br>>> 
              >>>>>>>>>><br>>> 
              >>>>>>>>>> my $clear= 
              AE::timer  $seconds_to_midnight, 
              $seconds_in_a_day,<br>>> 
              >>>>>>>>>> sub { $obj->clear 
              };<br>>> >>>>>>>>>> 
              $cv->recv;<br>>> >>>>>>>>>> 
              }<br>>> >>>>>>>>>><br>>> 
              >>>>>>>>>> a sub 
              seconds_from_midnight usa localtime pra fazer uma 
              conta<br>>> >>>>>>>>>> 
              marota.<br>>> 
              >>>>>>>>>><br>>> 
              >>>>>>>>>> A assinatura do AE::timer 
              eh<br>>> 
              >>>>>>>>>><br>>> 
              >>>>>>>>>> AE::timer $delay, 
              $interval, $callback;<br>>> 
              >>>>>>>>>><br>>> 
              >>>>>>>>>> No primeiro timer eu 
              tenho o meu main loop, chamando o metodo<br>>> 
              >>>>>>>>>> run.<br>>> 
              >>>>>>>>>> No segundo eu tenho o 
              metodo que envia os dados a cada 60<br>>> 
              >>>>>>>>>> segundos<br>>> 
              >>>>>>>>>> No terceiro eu calculo 
              quantos segundos faltam para a meia<br>>> 
              >>>>>>>>>> noite e<br>>> 
              >>>>>>>>>> mando repetir a cada 24 
              horas.<br>>> 
              >>>>>>>>>><br>>> 
              >>>>>>>>>> hoje eu tenho um loop com 
              um sleep 1 e varios ifs. quero que<br>>> 
              >>>>>>>>>> fique<br>>> 
              >>>>>>>>>> mais legivel e nao 
              utilizo anyEvent em nenhum outro lugar. Nao<br>>> 
              >>>>>>>>>> precisa ser<br>>> 
              >>>>>>>>>> EXATO, portanto um atraso 
              de alguns segundos pode acontecer.<br>>> 
              >>>>>>>>>><br>>> 
              >>>>>>>>>> Parece bom, mas eu tenho 
              algumas duvidas.<br>>> 
              >>>>>>>>>><br>>> 
              >>>>>>>>>> 1) esta claro o 
              suficiente?<br>>> >>>>>>>>>> 
              2) o overhead do AnyEvent parece ser o mesmo do sleep 
              (1)<br>>> >>>>>>>>>> 
              durante<br>>> >>>>>>>>>> o 
              runtime (ignorando quanto tempo demora pra iniciar ou 
              não),<br>>> >>>>>>>>>> 
              certo?<br>>> >>>>>>>>>> 3) 
              para rodar algo "a meia noite" me parece um tanto 
              confuso<br>>> >>>>>>>>>> 
              ainda. não encontrei nenhum helper q me ajude (o 
              AnyEvent::Cron<br>>> 
              >>>>>>>>>> da pau pra<br>>> 
              >>>>>>>>>> mim). sera q nao eh 
              melhor "re-setar" o time watcher para a<br>>> 
              >>>>>>>>>> proxima meia<br>>> 
              >>>>>>>>>> noite?<br>>> 
              >>>>>>>>>> 4) alias tem algo melhor 
              do que ficar brincando com localtime()<br>>> 
              >>>>>>>>>> pra pegar quantos 
              segundos faltam pra proxima meia noite? algo<br>>> 
              >>>>>>>>>> usando<br>>> 
              >>>>>>>>>> DateTime<br>>> 
              >>>>>>>>>><br>>> 
              >>>>>>>>>> por fim<br>>> 
              >>>>>>>>>><br>>> 
              >>>>>>>>>> 5) tem algum problema ao 
              usar AE::timer q eu não esteja vendo?<br>>> 
              >>>>>>>>>> Fora os problemas 
              interentes como se eu usar IO Bloqueante eu<br>>> 
              >>>>>>>>>> não vou ter 
              os<br>>> >>>>>>>>>> timers 
              "exatos".<br>>> 
              >>>>>>>>>><br>>> 
              >>>>>>>>>> Obrigado<br>>> 
              >>>>>>>>>><br>>> 
              >>>>>>>>>> Tiago<br>>> 
              >>>>>>>>>><br>>> 
              >>>>>>>>>> --<br>>> 
              >>>>>>>>>> Tiago B. 
              Peczenyj<br>>> >>>>>>>>>> 
              Linux User #405772<br>>> 
              >>>>>>>>>><br>>> 
              >>>>>>>>>> <a href="http://about.me/peczenyj" target="_blank">http://about.me/peczenyj</a><br>>> 
              >>>>>>>>><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<<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>>> 
              >>>>>>>>><br>>> 
              >>>>>>>><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<<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>>> 
              >>>>>>>><br>>> 
              >>>>>>><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<<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>>> 
              >>>>>>><br>>> 
              >>>>>><br>>> 
              >>>>>><br>>> 
              >>>>>><br>>> >>>>>> 
              --<br>>> >>>>>> Tiago B. 
              Peczenyj<br>>> >>>>>> Linux User 
              #405772<br>>> >>>>>><br>>> 
              >>>>>> <a href="http://about.me/peczenyj" target="_blank">http://about.me/peczenyj</a><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<<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>>> 
              >>>>>><br>>> 
              >>>>><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<<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>>> 
              >>>>><br>>> >>>><br>>> 
              >>>><br>>> >>>><br>>> 
              >>>> --<br>>> >>>> Tiago B. 
              Peczenyj<br>>> >>>> Linux User 
              #405772<br>>> >>>><br>>> >>>> 
              <a href="http://about.me/peczenyj" target="_blank">http://about.me/peczenyj</a><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<<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>>> 
              >>>><br>>> >>><br>>> 
              >><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<<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>>> >><br>>> 
              ><br>>> ><br>>> ><br>>> > 
              --<br>>> > Tiago B. Peczenyj<br>>> > Linux User 
              #405772<br>>> ><br>>> > <a href="http://about.me/peczenyj" target="_blank">http://about.me/peczenyj</a><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<<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>>> 
              ><br>>><br>>><br>>><br>>> 
              --<br>>><br>>> -dom<br>>><br>>> 
              --<br>>><br>>> Daniel de Oliveira 
              Mantovani<br>>> Business Analytic Specialist<br>>> 
              Perl Evangelist /Astrophysics hobbyist.<br>>> <a href="tel:%2B55%2011%209%208538-9897" value="+5511985389897" target="_blank">+55 11 9 8538-9897</a><br>>> 
              XOXO<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<<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>><br>><br>><br>><br>> --<br>> 
              Tiago B. Peczenyj<br>> Linux User #405772<br>><br>> <a href="http://about.me/peczenyj" target="_blank">http://about.me/peczenyj</a><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<<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>><br><br><br><br>--<br><br>-dom<br><br>--<br><br>Daniel 
              de Oliveira Mantovani<br>Business Analytic Specialist<br>Perl 
              Evangelist /Astrophysics hobbyist.<br><a href="tel:%2B55%2011%209%208538-9897" value="+5511985389897" target="_blank">+55 11 9 8538-9897</a><br>XOXO<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<<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><br clear="all">
            <div> </div>-- <br>Tiago B. Peczenyj<br>Linux User 
            #405772<br><br><a href="http://about.me/peczenyj" target="_blank">http://about.me/peczenyj</a> 
            </div></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" target="_blank">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><br></blockquote></div></div></div>
          <div> </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" target="_blank">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><br></blockquote></div><br><br clear="all">
        <div> </div>-- <br></div></div>André Garcia Carneiro<br>Software 
        Engineer<br><a href="tel:%2811%29982907780" value="+5511982907780" target="_blank">(11)982907780</a> </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" target="_blank">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><br></blockquote></div></div></div>
      <div> </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" target="_blank">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><br></blockquote></div>
    <div> </div></div></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" target="_blank">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><br></blockquote></div><br><br clear="all">
  <div> </div>-- <br>André Garcia Carneiro<br>Software Engineer<br><a href="tel:%2811%29982907780" value="+5511982907780" target="_blank">(11)982907780</a> </div></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" target="_blank">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><br></blockquote></div><br><br clear="all">
<div> </div>-- <br>Tiago B. Peczenyj<br>Linux User #405772<br><br><a href="http://about.me/peczenyj" target="_blank">http://about.me/peczenyj</a> 
</div>
</div></div><p>
</p><hr><div class="im">
=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<<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><p></p></div></div></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<<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>
<br></blockquote></div><br></div>