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