<div dir="ltr">calma galera tb não é pra tanto<div><br></div><div>eu tava achando essa porrada de if (dois) dentro do meu while algo tosco</div><div><br></div><div><br></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 class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<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><br></div><div>Achei chato mesmo e foda-se! Essa é a minha opinião!</div><div><br></div><div>


<br></div><div>Proost!</div><div><br></div></div><div class="HOEnZb"><div class="h5"><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 class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><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 class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><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 class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Que feio!</div><div><br></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>






<br></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>






<br></div><div>Proost!</div></div><div><br></div><div><br></div><div><br></div><div><br></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 class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><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 class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">







<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 class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">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><br></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><br></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><br></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><br></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></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><br></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">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><br></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>