calma galera tb não é pra tanto eu tava achando essa porrada de if (dois) dentro do meu while algo tosco
2013/8/27 Andre Carneiro <andregarciacarne...@gmail.com> > Se o Tiago estivesse com pressa, ele diria! E duvido que faria isso da > maneira como vocês fizeram. > > Achei chato mesmo e foda-se! Essa é a minha opinião! > > > Proost! > > > > 2013/8/27 Blabos de Blebe <bla...@gmail.com> > >> Na minha opinião, vc pode ter a sua opinião ;) >> >> >> 2013/8/26 Lucas Moraes <lucastiagodemor...@gmail.com> >> >>> 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. >>> >>> >>> Em 26 de agosto de 2013 16:41, Andre Carneiro < >>> andregarciacarne...@gmail.com> escreveu: >>> >>> Que feio! >>>> >>>> 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! >>>> >>>> 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. >>>> >>>> Proost! >>>> >>>> >>>> >>>> >>>> >>>> >>>> 2013/8/26 Lucas Moraes <lucastiagodemor...@gmail.com> >>>> >>>>> 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 :) >>>>> >>>>> >>>>> Em 26 de agosto de 2013 11:33, Tiago Peczenyj < >>>>> tiago.pecze...@gmail.com> escreveu: >>>>> >>>>> não entendi >>>>>> >>>>>> >>>>>> 2013/8/26 Daniel de Oliveira Mantovani < >>>>>> daniel.oliveira.mantov...@gmail.com> >>>>>> >>>>>>> Para de perder tempo com coisas banais que não vão te agregar nada. >>>>>>> >>>>>>> 2013/8/26 Tiago Peczenyj <tiago.pecze...@gmail.com>: >>>>>>> > e? >>>>>>> > >>>>>>> > >>>>>>> > 2013/8/26 Daniel de Oliveira Mantovani < >>>>>>> daniel.oliveira.mantov...@gmail.com> >>>>>>> >> >>>>>>> >> Tiago, "Easy things should be easy, and hard things should be >>>>>>> >> possible" - Larry Wall >>>>>>> >> >>>>>>> >> 2013/8/26 Tiago Peczenyj <tiago.pecze...@gmail.com>: >>>>>>> >> > Depois vcs me pagam uma cerveja e fica tudo sussa. >>>>>>> >> > >>>>>>> >> > >>>>>>> >> > 2013/8/26 Lindolfo Lorn Rodrigues <l...@lornlab.org> >>>>>>> >> >> >>>>>>> >> >> Antes que eu me esqueça: desculpe-me se insultei. >>>>>>> >> >> >>>>>>> >> >> >>>>>>> >> >> 2013/8/26 Lindolfo Lorn Rodrigues <l...@lornlab.org> >>>>>>> >> >>> >>>>>>> >> >>> Não quis insultar, apenas dar outra visão para o problema :) >>>>>>> >> >>> >>>>>>> >> >>> >>>>>>> >> >>> >>>>>>> >> >>> 2013/8/26 Tiago Peczenyj <tiago.pecze...@gmail.com> >>>>>>> >> >>>> >>>>>>> >> >>>> foi mal, agora eu tenho algo como >>>>>>> >> >>>> >>>>>>> >> >>>> while(1){ >>>>>>> >> >>>> # calcula >>>>>>> >> >>>> # if passou um minuto envia pro zabbix >>>>>>> >> >>>> # if passou um dia reinicia o contador >>>>>>> >> >>>> sleep(1); >>>>>>> >> >>>> } >>>>>>> >> >>>> >>>>>>> >> >>>> qualquer sugestão é bem vinda. de repente o zabbix pode >>>>>>> continuar com >>>>>>> >> >>>> a >>>>>>> >> >>>> monitoria e posso usar o StatsD para essas coisas novas, >>>>>>> ainda mais >>>>>>> >> >>>> se for >>>>>>> >> >>>> menos burocratico. >>>>>>> >> >>>> >>>>>>> >> >>>> >>>>>>> >> >>>> 2013/8/26 Stanislaw Pusep <creakt...@gmail.com> >>>>>>> >> >>>>> >>>>>>> >> >>>>> Seja qual for o seu objetivo, o código que você postou já >>>>>>> está feito >>>>>>> >> >>>>> e >>>>>>> >> >>>>> funcionando bem, aparenemente. >>>>>>> >> >>>>> "Eu mudaria boa parte do que você fez" e "Eu usaria o >>>>>>> Statsd para >>>>>>> >> >>>>> acumular o valor e exportaria via graphite", seguido de "Eu >>>>>>> não >>>>>>> >> >>>>> entendi bem >>>>>>> >> >>>>> o motivo de ficar rodando a cada segundo então vou chutar" >>>>>>> é um >>>>>>> >> >>>>> insulto a >>>>>>> >> >>>>> sua inteligência, IMHO >>>>>>> >> >>>>> >>>>>>> >> >>>>> >>>>>>> >> >>>>> 2013/8/26 Tiago Peczenyj <tiago.pecze...@gmail.com> >>>>>>> >> >>>>>> >>>>>>> >> >>>>>> Explain creaktive >>>>>>> >> >>>>>> >>>>>>> >> >>>>>> >>>>>>> >> >>>>>> 2013/8/26 Stanislaw Pusep <creakt...@gmail.com> >>>>>>> >> >>>>>>> >>>>>>> >> >>>>>>> Overengineering detected! >>>>>>> >> >>>>>>> >>>>>>> >> >>>>>>> >>>>>>> >> >>>>>>> 2013/8/26 Lindolfo Lorn Rodrigues <l...@lornlab.org> >>>>>>> >> >>>>>>>> >>>>>>> >> >>>>>>>> Eu mudaria boa parte do que você fez. >>>>>>> >> >>>>>>>> >>>>>>> >> >>>>>>>> Não sei qual problema que você está tentando resolver >>>>>>> com isso, >>>>>>> >> >>>>>>>> por >>>>>>> >> >>>>>>>> isso tudo >>>>>>> >> >>>>>>>> isso aqui será uma mega hipotese, se puder dizer qual o >>>>>>> problema >>>>>>> >> >>>>>>>> está tentando >>>>>>> >> >>>>>>>> resolver, seria legal :) >>>>>>> >> >>>>>>>> >>>>>>> >> >>>>>>>> Eu usaria o Statsd para acumular o valor e exportaria via >>>>>>> >> >>>>>>>> graphite. >>>>>>> >> >>>>>>>> >>>>>>> >> >>>>>>>> Eu não entendi bem o motivo de ficar rodando a cada >>>>>>> segundo então >>>>>>> >> >>>>>>>> vou chutar: >>>>>>> >> >>>>>>>> >>>>>>> >> >>>>>>>> Você que capturar ações de usuário/sistema em algum >>>>>>> lugar? >>>>>>> >> >>>>>>>> >>>>>>> >> >>>>>>>> Caso sim, você poderia colocar esse codigo logo depois a >>>>>>> ação do >>>>>>> >> >>>>>>>> usuário/sistema: >>>>>>> >> >>>>>>>> >>>>>>> >> >>>>>>>> my $statsd = Etsy::StatsD->new >>>>>>> >> >>>>>>>> my $bucket = "pacman.hit_number" >>>>>>> >> >>>>>>>> $statsd->increment($bucket); >>>>>>> >> >>>>>>>> >>>>>>> >> >>>>>>>> O stasd usa UDP, não vai alterar em nada perceptivo na >>>>>>> >> >>>>>>>> perfomance, >>>>>>> >> >>>>>>>> do seu sistema. >>>>>>> >> >>>>>>>> >>>>>>> >> >>>>>>>> Mandando o contador acima para o statsd ele irá acumular >>>>>>> e mandar >>>>>>> >> >>>>>>>> para o graphite, >>>>>>> >> >>>>>>>> no graphite com o dado cru você pode criar várias >>>>>>> operações de >>>>>>> >> >>>>>>>> estatistica >>>>>>> >> >>>>>>>> ( mediana, media, percentile..etc ) e gerar graficos. >>>>>>> >> >>>>>>>> >>>>>>> >> >>>>>>>> >>>>>>> >> >>>>>>>> >>>>>>> >> >>>>>>>> >>>>>>> http://graphite.readthedocs.org/en/0.9.10/functions.html#module-graphite.render.functions >>>>>>> >> >>>>>>>> >>>>>>> >> >>>>>>>> O Statsd suporta vários backend o mais conhecido/usado >>>>>>> deles é o >>>>>>> >> >>>>>>>> Graphite: >>>>>>> >> >>>>>>>> http://graphite.wikidot.com/screen-shots >>>>>>> >> >>>>>>>> >>>>>>> >> >>>>>>>> A Etsy tem um post explicando melhor a "metodologia" >>>>>>> deles de >>>>>>> >> >>>>>>>> medir >>>>>>> >> >>>>>>>> tudo: >>>>>>> >> >>>>>>>> >>>>>>> >> >>>>>>>> >>>>>>> >> >>>>>>>> >>>>>>> >> >>>>>>>> >>>>>>> http://codeascraft.com/2011/02/15/measure-anything-measure-everything/ >>>>>>> >> >>>>>>>> https://github.com/etsy/statsd >>>>>>> >> >>>>>>>> >>>>>>> >> >>>>>>>> PS: O Statsd teve origem no Flickr, e a primeira versão >>>>>>> era em >>>>>>> >> >>>>>>>> Perl >>>>>>> >> >>>>>>>> recentemente eles >>>>>>> >> >>>>>>>> liberaram o código fonte: >>>>>>> >> >>>>>>>> >>>>>>> >> >>>>>>>> https://github.com/iamcal/Flickr-StatsD >>>>>>> >> >>>>>>>> >>>>>>> >> >>>>>>>> >>>>>>> >> >>>>>>>> >>>>>>> >> >>>>>>>> 2013/8/26 Stanislaw Pusep <creakt...@gmail.com> >>>>>>> >> >>>>>>>>> >>>>>>> >> >>>>>>>>> Use AE::time() no lugar do localtime >>>>>>> >> >>>>>>>>> >>>>>>> >> >>>>>>>>> понедельник, 26 августа 2013 г. пользователь Tiago >>>>>>> Peczenyj >>>>>>> >> >>>>>>>>> писал: >>>>>>> >> >>>>>>>>> >>>>>>> >> >>>>>>>>>> Ola >>>>>>> >> >>>>>>>>>> >>>>>>> >> >>>>>>>>>> Eu tenho o seguinte caso >>>>>>> >> >>>>>>>>>> >>>>>>> >> >>>>>>>>>> preciso rodar um certo método a cada segundo, que por >>>>>>> sua vez >>>>>>> >> >>>>>>>>>> acumula um valor em algum atributo interno do objeto ( >>>>>>> total += >>>>>>> >> >>>>>>>>>> por exemplo >>>>>>> >> >>>>>>>>>> ). >>>>>>> >> >>>>>>>>>> >>>>>>> >> >>>>>>>>>> a cada minuto quero enviar o valor de total para algum >>>>>>> lugar >>>>>>> >> >>>>>>>>>> (ex >>>>>>> >> >>>>>>>>>> Zabbix). >>>>>>> >> >>>>>>>>>> >>>>>>> >> >>>>>>>>>> a meia noite eu quero limpar o total para 0. >>>>>>> >> >>>>>>>>>> >>>>>>> >> >>>>>>>>>> Eu cheguei a algo assim: >>>>>>> >> >>>>>>>>>> use AnyEvent; >>>>>>> >> >>>>>>>>>> >>>>>>> >> >>>>>>>>>> sub loop { >>>>>>> >> >>>>>>>>>> my $obj = Foo->new; >>>>>>> >> >>>>>>>>>> my $cv = AE::cv; >>>>>>> >> >>>>>>>>>> >>>>>>> >> >>>>>>>>>> my $seconds_in_a_day = 60 * 60 * 24; >>>>>>> >> >>>>>>>>>> my $seconds_to_midnight = $seconds_in_a_day - >>>>>>> >> >>>>>>>>>> seconds_from_midnight(); >>>>>>> >> >>>>>>>>>> >>>>>>> >> >>>>>>>>>> my $loop = AE::timer 0, 1, sub { $obj->run }; >>>>>>> >> >>>>>>>>>> >>>>>>> >> >>>>>>>>>> my $send = AE::timer 60, 60, sub { $obj->send }; >>>>>>> >> >>>>>>>>>> >>>>>>> >> >>>>>>>>>> my $clear= AE::timer $seconds_to_midnight, >>>>>>> $seconds_in_a_day, >>>>>>> >> >>>>>>>>>> sub { $obj->clear }; >>>>>>> >> >>>>>>>>>> $cv->recv; >>>>>>> >> >>>>>>>>>> } >>>>>>> >> >>>>>>>>>> >>>>>>> >> >>>>>>>>>> a sub seconds_from_midnight usa localtime pra fazer >>>>>>> uma conta >>>>>>> >> >>>>>>>>>> marota. >>>>>>> >> >>>>>>>>>> >>>>>>> >> >>>>>>>>>> A assinatura do AE::timer eh >>>>>>> >> >>>>>>>>>> >>>>>>> >> >>>>>>>>>> AE::timer $delay, $interval, $callback; >>>>>>> >> >>>>>>>>>> >>>>>>> >> >>>>>>>>>> No primeiro timer eu tenho o meu main loop, chamando o >>>>>>> metodo >>>>>>> >> >>>>>>>>>> run. >>>>>>> >> >>>>>>>>>> No segundo eu tenho o metodo que envia os dados a cada >>>>>>> 60 >>>>>>> >> >>>>>>>>>> segundos >>>>>>> >> >>>>>>>>>> No terceiro eu calculo quantos segundos faltam para a >>>>>>> meia >>>>>>> >> >>>>>>>>>> noite e >>>>>>> >> >>>>>>>>>> mando repetir a cada 24 horas. >>>>>>> >> >>>>>>>>>> >>>>>>> >> >>>>>>>>>> hoje eu tenho um loop com um sleep 1 e varios ifs. >>>>>>> quero que >>>>>>> >> >>>>>>>>>> fique >>>>>>> >> >>>>>>>>>> mais legivel e nao utilizo anyEvent em nenhum outro >>>>>>> lugar. Nao >>>>>>> >> >>>>>>>>>> precisa ser >>>>>>> >> >>>>>>>>>> EXATO, portanto um atraso de alguns segundos pode >>>>>>> acontecer. >>>>>>> >> >>>>>>>>>> >>>>>>> >> >>>>>>>>>> Parece bom, mas eu tenho algumas duvidas. >>>>>>> >> >>>>>>>>>> >>>>>>> >> >>>>>>>>>> 1) esta claro o suficiente? >>>>>>> >> >>>>>>>>>> 2) o overhead do AnyEvent parece ser o mesmo do sleep >>>>>>> (1) >>>>>>> >> >>>>>>>>>> durante >>>>>>> >> >>>>>>>>>> o runtime (ignorando quanto tempo demora pra iniciar >>>>>>> ou não), >>>>>>> >> >>>>>>>>>> certo? >>>>>>> >> >>>>>>>>>> 3) para rodar algo "a meia noite" me parece um tanto >>>>>>> confuso >>>>>>> >> >>>>>>>>>> ainda. não encontrei nenhum helper q me ajude (o >>>>>>> AnyEvent::Cron >>>>>>> >> >>>>>>>>>> da pau pra >>>>>>> >> >>>>>>>>>> mim). sera q nao eh melhor "re-setar" o time watcher >>>>>>> para a >>>>>>> >> >>>>>>>>>> proxima meia >>>>>>> >> >>>>>>>>>> noite? >>>>>>> >> >>>>>>>>>> 4) alias tem algo melhor do que ficar brincando com >>>>>>> localtime() >>>>>>> >> >>>>>>>>>> pra pegar quantos segundos faltam pra proxima meia >>>>>>> noite? algo >>>>>>> >> >>>>>>>>>> usando >>>>>>> >> >>>>>>>>>> DateTime >>>>>>> >> >>>>>>>>>> >>>>>>> >> >>>>>>>>>> por fim >>>>>>> >> >>>>>>>>>> >>>>>>> >> >>>>>>>>>> 5) tem algum problema ao usar AE::timer q eu não >>>>>>> esteja vendo? >>>>>>> >> >>>>>>>>>> Fora os problemas interentes como se eu usar IO >>>>>>> Bloqueante eu >>>>>>> >> >>>>>>>>>> não vou ter os >>>>>>> >> >>>>>>>>>> timers "exatos". >>>>>>> >> >>>>>>>>>> >>>>>>> >> >>>>>>>>>> Obrigado >>>>>>> >> >>>>>>>>>> >>>>>>> >> >>>>>>>>>> Tiago >>>>>>> >> >>>>>>>>>> >>>>>>> >> >>>>>>>>>> -- >>>>>>> >> >>>>>>>>>> Tiago B. Peczenyj >>>>>>> >> >>>>>>>>>> Linux User #405772 >>>>>>> >> >>>>>>>>>> >>>>>>> >> >>>>>>>>>> http://about.me/peczenyj >>>>>>> >> >>>>>>>>> >>>>>>> >> >>>>>>>>> >>>>>>> >> >>>>>>>>> =begin disclaimer >>>>>>> >> >>>>>>>>> Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ >>>>>>> >> >>>>>>>>> SaoPaulo-pm mailing list: SaoPaulo-pm@pm.org >>>>>>> >> >>>>>>>>> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> >>>>>>> >> >>>>>>>>> =end disclaimer >>>>>>> >> >>>>>>>>> >>>>>>> >> >>>>>>>> >>>>>>> >> >>>>>>>> >>>>>>> >> >>>>>>>> =begin disclaimer >>>>>>> >> >>>>>>>> Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ >>>>>>> >> >>>>>>>> SaoPaulo-pm mailing list: SaoPaulo-pm@pm.org >>>>>>> >> >>>>>>>> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> >>>>>>> >> >>>>>>>> =end disclaimer >>>>>>> >> >>>>>>>> >>>>>>> >> >>>>>>> >>>>>>> >> >>>>>>> >>>>>>> >> >>>>>>> =begin disclaimer >>>>>>> >> >>>>>>> Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ >>>>>>> >> >>>>>>> SaoPaulo-pm mailing list: SaoPaulo-pm@pm.org >>>>>>> >> >>>>>>> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> >>>>>>> >> >>>>>>> =end disclaimer >>>>>>> >> >>>>>>> >>>>>>> >> >>>>>> >>>>>>> >> >>>>>> >>>>>>> >> >>>>>> >>>>>>> >> >>>>>> -- >>>>>>> >> >>>>>> Tiago B. Peczenyj >>>>>>> >> >>>>>> Linux User #405772 >>>>>>> >> >>>>>> >>>>>>> >> >>>>>> http://about.me/peczenyj >>>>>>> >> >>>>>> >>>>>>> >> >>>>>> =begin disclaimer >>>>>>> >> >>>>>> Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ >>>>>>> >> >>>>>> SaoPaulo-pm mailing list: SaoPaulo-pm@pm.org >>>>>>> >> >>>>>> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> >>>>>>> >> >>>>>> =end disclaimer >>>>>>> >> >>>>>> >>>>>>> >> >>>>> >>>>>>> >> >>>>> >>>>>>> >> >>>>> =begin disclaimer >>>>>>> >> >>>>> Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ >>>>>>> >> >>>>> SaoPaulo-pm mailing list: SaoPaulo-pm@pm.org >>>>>>> >> >>>>> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> >>>>>>> >> >>>>> =end disclaimer >>>>>>> >> >>>>> >>>>>>> >> >>>> >>>>>>> >> >>>> >>>>>>> >> >>>> >>>>>>> >> >>>> -- >>>>>>> >> >>>> Tiago B. Peczenyj >>>>>>> >> >>>> Linux User #405772 >>>>>>> >> >>>> >>>>>>> >> >>>> http://about.me/peczenyj >>>>>>> >> >>>> >>>>>>> >> >>>> =begin disclaimer >>>>>>> >> >>>> Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ >>>>>>> >> >>>> SaoPaulo-pm mailing list: SaoPaulo-pm@pm.org >>>>>>> >> >>>> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> >>>>>>> >> >>>> =end disclaimer >>>>>>> >> >>>> >>>>>>> >> >>> >>>>>>> >> >> >>>>>>> >> >> >>>>>>> >> >> =begin disclaimer >>>>>>> >> >> Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ >>>>>>> >> >> SaoPaulo-pm mailing list: SaoPaulo-pm@pm.org >>>>>>> >> >> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> >>>>>>> >> >> =end disclaimer >>>>>>> >> >> >>>>>>> >> > >>>>>>> >> > >>>>>>> >> > >>>>>>> >> > -- >>>>>>> >> > Tiago B. Peczenyj >>>>>>> >> > Linux User #405772 >>>>>>> >> > >>>>>>> >> > http://about.me/peczenyj >>>>>>> >> > >>>>>>> >> > =begin disclaimer >>>>>>> >> > Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ >>>>>>> >> > SaoPaulo-pm mailing list: SaoPaulo-pm@pm.org >>>>>>> >> > L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> >>>>>>> >> > =end disclaimer >>>>>>> >> > >>>>>>> >> >>>>>>> >> >>>>>>> >> >>>>>>> >> -- >>>>>>> >> >>>>>>> >> -dom >>>>>>> >> >>>>>>> >> -- >>>>>>> >> >>>>>>> >> Daniel de Oliveira Mantovani >>>>>>> >> Business Analytic Specialist >>>>>>> >> Perl Evangelist /Astrophysics hobbyist. >>>>>>> >> +55 11 9 8538-9897 >>>>>>> >> XOXO >>>>>>> >> =begin disclaimer >>>>>>> >> Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ >>>>>>> >> SaoPaulo-pm mailing list: SaoPaulo-pm@pm.org >>>>>>> >> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> >>>>>>> >> =end disclaimer >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> > -- >>>>>>> > Tiago B. Peczenyj >>>>>>> > Linux User #405772 >>>>>>> > >>>>>>> > http://about.me/peczenyj >>>>>>> > >>>>>>> > =begin disclaimer >>>>>>> > Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ >>>>>>> > SaoPaulo-pm mailing list: SaoPaulo-pm@pm.org >>>>>>> > L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> >>>>>>> > =end disclaimer >>>>>>> > >>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> >>>>>>> -dom >>>>>>> >>>>>>> -- >>>>>>> >>>>>>> Daniel de Oliveira Mantovani >>>>>>> Business Analytic Specialist >>>>>>> Perl Evangelist /Astrophysics hobbyist. >>>>>>> +55 11 9 8538-9897 >>>>>>> XOXO >>>>>>> =begin disclaimer >>>>>>> Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ >>>>>>> SaoPaulo-pm mailing list: SaoPaulo-pm@pm.org >>>>>>> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> >>>>>>> =end disclaimer >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Tiago B. Peczenyj >>>>>> Linux User #405772 >>>>>> >>>>>> http://about.me/peczenyj >>>>>> >>>>>> =begin disclaimer >>>>>> Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ >>>>>> SaoPaulo-pm mailing list: SaoPaulo-pm@pm.org >>>>>> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> >>>>>> =end disclaimer >>>>>> >>>>>> >>>>> >>>>> =begin disclaimer >>>>> Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ >>>>> SaoPaulo-pm mailing list: SaoPaulo-pm@pm.org >>>>> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> >>>>> =end disclaimer >>>>> >>>>> >>>> >>>> >>>> -- >>>> André Garcia Carneiro >>>> Software Engineer >>>> (11)982907780 >>>> >>>> =begin disclaimer >>>> Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ >>>> SaoPaulo-pm mailing list: SaoPaulo-pm@pm.org >>>> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> >>>> =end disclaimer >>>> >>>> >>> >>> =begin disclaimer >>> Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ >>> SaoPaulo-pm mailing list: SaoPaulo-pm@pm.org >>> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> >>> =end disclaimer >>> >>> >> >> =begin disclaimer >> Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ >> SaoPaulo-pm mailing list: SaoPaulo-pm@pm.org >> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> >> =end disclaimer >> >> > > > -- > André Garcia Carneiro > Software Engineer > (11)982907780 > > =begin disclaimer > Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ > SaoPaulo-pm mailing list: SaoPaulo-pm@pm.org > L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> > =end disclaimer > > -- Tiago B. Peczenyj Linux User #405772 http://about.me/peczenyj
=begin disclaimer Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ SaoPaulo-pm mailing list: SaoPaulo-pm@pm.org L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> =end disclaimer