<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body><div>faz um fork E um release! se você curte o módulo e o autor tiver abandonado, você pode tentar adotá-lo, também -- o módulo, não o autor! ;)<br></div>
<div> </div>
<div> </div>
<div>On Tue, Sep 3, 2013, at 01:02 PM, Tiago Peczenyj wrote:<br></div>
<blockquote type="cite"><div dir="ltr">faz um fork.<br></div>
<div><div> </div>
<div> </div>
<div><div>2013/9/3 Renato Santos <span dir="ltr"><<a href="mailto:renato.cron@gmail.com" target="_blank">renato.cron@gmail.com</a>></span><br></div>
<div> </div>
<blockquote style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Eu pessoalmente não gosto 100% do data-verifier.<div> </div>
<div>Ele tem dois 'bugs' que enchem o saco:<br></div>
<div> </div>
<div><a href="https://github.com/gphat/data-verifier/issues/9" target="_blank">https://github.com/gphat/data-verifier/issues/9</a>

<br></div>
<div> </div>
<div>e o cara nunca responde.<br></div>
<div> </div>
<div>Falta uma flag para dizer se o valor '' é pra ser valido ou virar undef. <br></div>
<div> </div>
<div>em caso de ints, num, booleans, faz sentido considerar '' como sendo undef, porém, textos podem ser vazios!<br></div>
<div> </div>
<div> </div>
<div>Sobre a questão das mensagens, também seria legal poder pegar o motivo do erro.. podia ser um die dentro do post_check e capturar isso.<br></div>
<div> </div>
<div>ai depois seria crair só outro Data::ManagerFoo que saiba tratar os Data::VerifierFoo<br></div>
<div> </div>
</div>
<div><div><div><div> </div>
<div> </div>
<div><div>2013/9/3 Solli Honorio <span dir="ltr"><<a href="mailto:shonorio@gmail.com" target="_blank">shonorio@gmail.com</a>></span><br></div>
<div> </div>
<blockquote style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Lucas,<div> </div>
<div>Obrigado pelo retorno. Ontem a noite estudei o código do Data::Manager e ví que realmente não rola fazer o que eu estava querendo fazer (passar uma pilha de mensagem e receber de acordo com o contexto) e ai estou encaminhando para a mesma solução que você.<br></div>
<div> </div>
<div>Como vc faz com o <span class="font" style="font-family:arial, sans-serif"><span class="size" style="font-size:13px">I18N ?</span></span><br></div>
<div> </div>
<div><span class="font" style="font-family:arial, sans-serif"><span class="size" style="font-size:13px">O Renato Cron publicou um 'template'  ( </span></span><span class="font" style="font-family:arial, sans-serif"><a href="https://github.com/AwareTI/MyApp" target="_blank">https://github.com/AwareTI/MyApp</a> ) </span><span class="font" style="font-family:arial, sans-serif"><span class="size" style="font-size:13px">de como eles estão utilizando o Data::Manager. Estudei o código e achei engenhoso, mas ainda quero manter um melhor controle do ResultSet porquê quero devolver uma estrutura mais complexa de informação.</span></span><br></div>
<div> </div>
<div><span class="font" style="font-family:arial, sans-serif"><span class="size" style="font-size:13px">Abraços,</span></span><br></div>
<div> </div>
<div><span class="font" style="font-family:arial, sans-serif"><span class="size" style="font-size:13px">Solli Honorio</span></span><br></div>
<div> </div>
</div>
<div><div><div><div> </div>
<div> </div>
<div> </div>
<div><div>2013/9/3 Lucas Oliveira <span dir="ltr"><<a href="mailto:lucasmateus.oliveira@gmail.com" target="_blank">lucasmateus.oliveira@gmail.com</a>></span><br></div>
<blockquote style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div> </div>
<div><span style="white-space:pre-wrap"></span>Normalmente eu uso sempre com I18N mas da pra quebrar o galho assim<br></div>
<div> </div>
<div><code><br></div>
<div><div><div style="margin:0px;font-size:11px;font-family:Monaco;color:rgb(194,27,45)">#!/usr/bin/env perl<br></div>
<div style="margin:0px;font-size:11px;font-family:Monaco;min-height:15px"> </div>
<div style="margin:0px;font-size:11px;font-family:Monaco">





<span class="colour" style="color:rgb(178, 69, 243)">use </span>common::sense<span class="colour" style="color:rgb(193, 53, 0)">;</span><br></div>
<div style="margin:0px;font-size:11px;font-family:Monaco"><span class="colour" style="color:rgb(178, 69, 243)">use </span>Data::Manager<span class="colour" style="color:rgb(193, 53, 0)">;</span><br></div>
<div style="margin:0px;font-size:11px;font-family:Monaco"><span class="colour" style="color:rgb(178, 69, 243)">use </span>Data::Verifier<span class="colour" style="color:rgb(193, 53, 0)">;</span><br></div>
<div style="margin:0px;font-size:11px;font-family:Monaco;min-height:15px"> </div>
</div>
<div style="margin:0px;font-size:11px;font-family:Monaco;color:rgb(178,55,243)"><span class="colour" style="color:rgb(178, 69, 243)">my </span><span class="colour" style="color:rgb(0, 0, 0)">%</span>msg_data<span class="colour" style="color:rgb(0, 0, 0)"></span><span class="colour" style="color:rgb(193, 53, 0)">= (</span><br></div>
<div style="margin:0px;font-size:11px;font-family:Monaco;color:rgb(4,51,255)"><span class="colour" style="color:rgb(193, 53, 0)"></span><span class="colour" style="color:rgb(0, 0, 0)">missing_name_last </span><span class="colour" style="color:rgb(193, 53, 0)">=> </span>'Nao foi informado o campo name_last, seu idiota !'<span class="colour" style="color:rgb(193, 53, 0)">,</span><br></div>
<div style="margin:0px;font-size:11px;font-family:Monaco;color:rgb(193,53,0)">);<br></div>
<div style="margin:0px;font-size:11px;font-family:Monaco;min-height:15px"> </div>
<div style="margin:0px;font-size:11px;font-family:Monaco;color:rgb(193,53,0)">





<span class="colour" style="color:rgb(178, 69, 243)">sub </span><span class="colour" style="color:rgb(0, 0, 0)">messages </span>{ <span class="colour" style="color:rgb(0, 0, 0)">$</span><span class="colour" style="color:rgb(178, 55, 243)">msg_data</span>{<span class="colour" style="color:rgb(0, 0, 0)">$</span><span class="colour" style="color:rgb(178, 55, 243)">_</span>[<span class="colour" style="color:rgb(178, 49, 0)">0</span>]} || <span class="colour" style="color:rgb(0, 0, 0)">$</span><span class="colour" style="color:rgb(178, 55, 243)">_</span>[<span class="colour" style="color:rgb(178, 49, 0)">0</span>] }<br></div>
<div style="margin:0px;font-size:11px;font-family:Monaco;min-height:15px"> </div>
<div style="margin:0px;font-size:11px;font-family:Monaco"><span class="colour" style="color:rgb(178, 69, 243)">my </span>$<span class="colour" style="color:rgb(178, 55, 243)">dm</span> <span class="colour" style="color:rgb(193, 53, 0)">= </span>Data::Manager<span class="colour" style="color:rgb(193, 53, 0)">-></span><span class="colour" style="color:rgb(178, 69, 243)">new</span><span class="colour" style="color:rgb(193, 53, 0)">;</span><br></div>
<div><div style="margin:0px;font-size:11px;font-family:Monaco"><span class="colour" style="color:rgb(178, 69, 243)">my </span>$<span class="colour" style="color:rgb(178, 55, 243)">dv</span> <span class="colour" style="color:rgb(193, 53, 0)">= </span>Data::Verifier<span class="colour" style="color:rgb(193, 53, 0)">-></span><span class="colour" style="color:rgb(178, 69, 243)">new</span><span class="colour" style="color:rgb(193, 53, 0)">(</span><br></div>
<div style="margin:0px;font-size:11px;font-family:Monaco;color:rgb(193,53,0)">    <span class="colour" style="color:rgb(0, 0, 0)">filters </span>=> [ <span class="colour" style="color:rgb(178, 69, 243)">qw(trim) </span>],<br></div>
<div style="margin:0px;font-size:11px;font-family:Monaco;color:rgb(193,53,0)">





        <span class="colour" style="color:rgb(0, 0, 0)">profile </span>=> {<br></div>
</div>
<div style="margin:0px;font-size:11px;font-family:Monaco;color:rgb(193,53,0)">            <span class="colour" style="color:rgb(0, 0, 0)">name_first </span>=> {<br></div>
<div><div style="margin:0px;font-size:11px;font-family:Monaco;color:rgb(193,53,0)">                <span class="colour" style="color:rgb(0, 0, 0)">required </span>=> <span class="colour" style="color:rgb(178, 49, 0)">1</span>,<br></div>
<div style="margin:0px;font-size:11px;font-family:Monaco;color:rgb(193,53,0)">





                <span class="colour" style="color:rgb(0, 0, 0)">type     </span>=> <span class="colour" style="color:rgb(4, 51, 255)">'Str'</span>,<br></div>
<div style="margin:0px;font-size:11px;font-family:Monaco;color:rgb(193,53,0)">                <span class="colour" style="color:rgb(0, 0, 0)">filters  </span>=> [ <span class="colour" style="color:rgb(178, 69, 243)">qw(collapse) </span>]<br></div>
<div style="margin:0px;font-size:11px;font-family:Monaco;color:rgb(193,53,0)">            },<br></div>
</div>
<div style="margin:0px;font-size:11px;font-family:Monaco;color:rgb(193,53,0)">            <span class="colour" style="color:rgb(0, 0, 0)">name_last </span>=> {<br></div>
<div><div style="margin:0px;font-size:11px;font-family:Monaco;color:rgb(193,53,0)">                <span class="colour" style="color:rgb(0, 0, 0)">required </span>=> <span class="colour" style="color:rgb(178, 49, 0)">1</span>,<br></div>
<div style="margin:0px;font-size:11px;font-family:Monaco;color:rgb(193,53,0)">





                <span class="colour" style="color:rgb(0, 0, 0)">type     </span>=> <span class="colour" style="color:rgb(4, 51, 255)">'Str'</span>,<br></div>
<div style="margin:0px;font-size:11px;font-family:Monaco;color:rgb(193,53,0)">                <span class="colour" style="color:rgb(0, 0, 0)">filters  </span>=> [ <span class="colour" style="color:rgb(178, 69, 243)">qw(collapse) </span>]<br></div>
<div style="margin:0px;font-size:11px;font-family:Monaco;color:rgb(193,53,0)">            },<br></div>
<div style="margin:0px;font-size:11px;font-family:Monaco;color:rgb(193,53,0)">            <span class="colour" style="color:rgb(0, 0, 0)">age  </span>=> {<br></div>
<div style="margin:0px;font-size:11px;font-family:Monaco;color:rgb(193,53,0)">                <span class="colour" style="color:rgb(0, 0, 0)">type        </span>=> <span class="colour" style="color:rgb(4, 51, 255)">'Int'</span><br></div>
<div style="margin:0px;font-size:11px;font-family:Monaco;color:rgb(4,51,255)">





            <span class="colour" style="color:rgb(193, 53, 0)">},</span><br></div>
<div style="margin:0px;font-size:11px;font-family:Monaco;color:rgb(193,53,0)">            <span class="colour" style="color:rgb(0, 0, 0)">sign </span>=> {<br></div>
<div style="margin:0px;font-size:11px;font-family:Monaco;color:rgb(193,53,0)">





                <span class="colour" style="color:rgb(0, 0, 0)">required    </span>=> <span class="colour" style="color:rgb(178, 49, 0)">1</span>,<br></div>
<div style="margin:0px;font-size:11px;font-family:Monaco;color:rgb(193,53,0)">                <span class="colour" style="color:rgb(0, 0, 0)">type        </span>=> <span class="colour" style="color:rgb(4, 51, 255)">'Str'</span><br></div>
<div style="margin:0px;font-size:11px;font-family:Monaco;color:rgb(4,51,255)">            <span class="colour" style="color:rgb(193, 53, 0)">}</span><br></div>
<div style="margin:0px;font-size:11px;font-family:Monaco;color:rgb(193,53,0)">        }<br></div>
<div style="margin:0px;font-size:11px;font-family:Monaco;color:rgb(193,53,0)">    );<br></div>
<div style="margin:0px;font-size:11px;font-family:Monaco;min-height:15px"> </div>
</div>
<div style="margin:0px;font-size:11px;font-family:Monaco">





$<span class="colour" style="color:rgb(178, 55, 243)">dm</span><span class="colour" style="color:rgb(193, 53, 0)">-></span>set_verifier<span class="colour" style="color:rgb(193, 53, 0)">( </span>name <span class="colour" style="color:rgb(193, 53, 0)">=> </span>$<span class="colour" style="color:rgb(178, 55, 243)">dv</span> <span class="colour" style="color:rgb(193, 53, 0)">);</span><br></div>
<div style="margin:0px;font-size:11px;font-family:Monaco">$<span class="colour" style="color:rgb(178, 55, 243)">dm</span><span class="colour" style="color:rgb(193, 53, 0)">-></span>verify<span class="colour" style="color:rgb(193, 53, 0)">( </span>name <span class="colour" style="color:rgb(193, 53, 0)">=> { </span>name_first <span class="colour" style="color:rgb(193, 53, 0)">=> </span><span class="colour" style="color:rgb(4, 51, 255)">'Solli' </span><span class="colour" style="color:rgb(193, 53, 0)">});</span><br></div>
<div style="margin:0px;font-size:11px;font-family:Monaco;min-height:15px"> </div>
<div style="margin:0px;font-size:11px;font-family:Monaco"><span class="colour" style="color:rgb(178, 69, 243)">if </span><span class="colour" style="color:rgb(193, 53, 0)">(</span>!$<span class="colour" style="color:rgb(178, 55, 243)">dm</span><span class="colour" style="color:rgb(193, 53, 0)">-></span>success<span class="colour" style="color:rgb(193, 53, 0)">) {</span><br></div>
<div style="margin:0px;font-size:11px;font-family:Monaco"><span class="colour" style="color:rgb(193, 53, 0)"></span><span class="colour" style="color:rgb(178, 55, 243)">print </span>&messages<span class="colour" style="color:rgb(193, 53, 0)">( </span>$<span class="colour" style="color:rgb(178, 55, 243)">_</span><span class="colour" style="color:rgb(193, 53, 0)">-></span>msgid <span class="colour" style="color:rgb(193, 53, 0)">).</span>$<span class="colour" style="color:rgb(178, 55, 243)">/</span><br></div>
<div style="margin:0px;font-size:11px;font-family:Monaco;color:rgb(178,55,243)">      <span class="colour" style="color:rgb(178, 69, 243)">foreach </span><span class="colour" style="color:rgb(193, 53, 0)">(</span><span class="colour" style="color:rgb(0, 0, 0)">@</span>{ $dm->messages->messages }<span class="colour" style="color:rgb(193, 53, 0)">);</span><br></div>
<div style="margin:0px;font-size:11px;font-family:Monaco;color:rgb(193,53,0)">}<br></div>
</div>
<div></code><br></div>
<div> </div>
<div> </div>
<div><div>Em 02/09/2013, às 11:10, Solli Honorio <<a href="mailto:shonorio@gmail.com" target="_blank">shonorio@gmail.com</a>> escreveu:<br></div>
<div> </div>
<blockquote type="cite"><div><div><div dir="ltr">Pessoal,<div> </div>
<div>Estou tentando configurar uma mensagem padronização no Data::Manager, mas não está funcionando. Alguém aqui já utilizou o Data::Manager para saber se é possível fazer isto que eu quero ?<br></div>
<div> </div>
<div>O código abaixo, estou criando uma mensagem e adicionando no Data::Manger, porquê eu imaginei que quando ocorrer o problema dentro do escopo e msgid, eu teria o texto padronizado, mas o que estou recebendo é mais uma pilha de mensagem, mesmo quando não existe o erro.<br></div>
<div> </div>
<div><code><br></div>
<div><div><span class="font" style="font-family:'courier new', ' monospace'">#!/usr/bin/env perl</span><br></div>
<div><span class="font" style="font-family:'courier new', ' monospace'">use common::sense;</span><br></div>
<div><span class="font" style="font-family:'courier new', ' monospace'">use Data::Manager;</span><br></div>
<div><span class="font" style="font-family:'courier new', ' monospace'">use Data::Verifier;</span><br></div>
<div><span class="font" style="font-family:'courier new', ' monospace'">use Data::Printer;</span><br></div>
<div> </div>
<div><span class="font" style="font-family:'courier new', ' monospace'">my $msg = Message::Stack->new;</span><br></div>
<div><span class="font" style="font-family:'courier new', ' monospace'">$msg->add({</span><br></div>
<div><span class="font" style="font-family:'courier new', ' monospace'">    msgid   => 'missing_name_last',</span><br></div>
<div><span class="font" style="font-family:'courier new', ' monospace'">    level   => 'error',</span><br></div>
<div><span class="font" style="font-family:'courier new', ' monospace'">    scope   => 'name1',</span><br></div>
<div><span class="font" style="font-family:'courier new', ' monospace'">    subject => 'name_last',</span><br></div>
<div><span class="font" style="font-family:'courier new', ' monospace'">    text    => 'Não foi informado o campo name_last, seu idiota !'} );</span><br></div>
<div> </div>
<div><span class="font" style="font-family:'courier new', ' monospace'">my $dm = Data::Manager->new( { messages => $msg } );</span><br></div>
<div><span class="font" style="font-family:'courier new', ' monospace'">my $dv = Data::Verifier->new(</span><br></div>
<div><span class="font" style="font-family:'courier new', ' monospace'">    filters => [ qw(trim) ],</span><br></div>
<div><span class="font" style="font-family:'courier new', ' monospace'">        profile => {</span><br></div>
<div><span class="font" style="font-family:'courier new', ' monospace'">            name => {</span><br></div>
<div><span class="font" style="font-family:'courier new', ' monospace'">                required => 1,</span><br></div>
<div><span class="font" style="font-family:'courier new', ' monospace'">                type     => 'Str',</span><br></div>
<div><span class="font" style="font-family:'courier new', ' monospace'">                filters  => [ qw(collapse) ]</span><br></div>
<div><span class="font" style="font-family:'courier new', ' monospace'">            },</span><br></div>
<div><span class="font" style="font-family:'courier new', ' monospace'">            age  => {</span><br></div>
<div><span class="font" style="font-family:'courier new', ' monospace'">                type        => 'Int'</span><br></div>
<div><span class="font" style="font-family:'courier new', ' monospace'">            },</span><br></div>
<div><span class="font" style="font-family:'courier new', ' monospace'">            sign => {</span><br></div>
<div><span class="font" style="font-family:'courier new', ' monospace'">                required    => 1,</span><br></div>
<div><span class="font" style="font-family:'courier new', ' monospace'">                type        => 'Str'</span><br></div>
<div><span class="font" style="font-family:'courier new', ' monospace'">            }</span><br></div>
<div><span class="font" style="font-family:'courier new', ' monospace'">        }</span><br></div>
<div><span class="font" style="font-family:'courier new', ' monospace'">    );</span><br></div>
</div>
<div> </div>
<div><pre style="font-size:12px;margin-top:0px;margin-bottom:0px;color:rgb(51,51,51);line-height:18px"><div style="padding-left:10px"><span><span class="font" style="font-family:'courier new', ' monospace'">};</span></span><br></div>
</pre></div>
<div> </div>
<div><div><span class="font" style="font-family:'courier new', ' monospace'">$dm->set_verifier('name1', $verifier);</span><br></div>
<div><span class="font" style="font-family:'courier new', ' monospace'">$dm->verify('name1', { name_last => 'Honorio', name_first => 'Solli' });</span><br></div>
<div> </div>
<div>







<span class="font" style="font-family:'courier new', ' monospace'">my $results = $dm->get_results('name1');</span><br></div>
<div><span class="font" style="font-family:'courier new', ' monospace'">my $stack   = $dm->messages_for_scope('name1');</span><br></div>
<div> </div>
<div><span class="font" style="font-family:'courier new', ' monospace'">say $results->success;</span><br></div>
<div> </div>
<div><span class="font" style="font-family:'courier new', ' monospace'">say "Is invalid name_first ", $results->is_invalid('name_first');</span><br></div>
<div><span class="font" style="font-family:'courier new', ' monospace'">say "Is invalid name_last ",  $results->is_invalid('name_last');  # yes</span><br></div>
<div> </div>
<div><span class="font" style="font-family:'courier new', ' monospace'">say "Is missing name_first ", $results->is_missing('name_first'); # no</span><br></div>
<div><span class="font" style="font-family:'courier new', ' monospace'">say "Is missing is_missing ", $results->is_missing('name_last'); # yes</span><br></div>
<div> </div>
<div><span class="font" style="font-family:'courier new', ' monospace'">say "Missing count ", $results->missing_count;</span><br></div>
<div> </div>
<div><span class="font" style="font-family:'courier new', ' monospace'">say "Count : ",  $stack->count ;</span><br></div>
<div><span class="font" style="font-family:'courier new', ' monospace'">p $stack->get_message( 0 );</span><br></div>
<div><span class="font" style="font-family:'courier new', ' monospace'">p $stack->get_message( 1 );</span><br></div>
</div>
<div> </div>
<div></code><br></div>
<div> </div>
<div><div> </div>
<div>-- <br></div>
<div>"o animal satisfeito dorme". - Guimarães Rosa
<br></div>
</div>
</div>
</div>
</div>
<div>
=begin disclaimer<br></div>
<div>   Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" target="_blank">http://sao-paulo.pm.org/</a><br></div>
<div> SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a><br></div>
<div>





 L<<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>><br></div>
<div>=end disclaimer<br></div>
</blockquote></div>
<div> </div>
</div>
<div> </div>
<div>=begin disclaimer<br></div>
<div>
   Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" target="_blank">http://sao-paulo.pm.org/</a><br></div>
<div>
 SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a><br></div>
<div>
 L<<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>><br></div>
<div>
=end disclaimer<br></div>
<div> </div>
</blockquote></div>
<div> </div>
<div> </div>
<div> </div>
<div>-- <br></div>
<div>"o animal satisfeito dorme". - Guimarães Rosa
<br></div>
</div>
</div>
</div>
<div> </div>
<div>=begin disclaimer<br></div>
<div>
   Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" target="_blank">http://sao-paulo.pm.org/</a><br></div>
<div>
 SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a><br></div>
<div>
 L<<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>><br></div>
<div>
=end disclaimer<br></div>
<div> </div>
</blockquote></div>
<div> </div>
<div> </div>
<div> </div>
<div>-- <br></div>
</div>
</div>
<div><span class="colour" style="color:rgb(51, 51, 51)"><span class="size" style="font-size:x-small">Saravá,</span></span><br></div>
<div><span class="colour" style="color:rgb(51, 51, 51)"><span class="size" style="font-size:x-small">Renato CRON</span></span><br></div>
<div><div style="text-align:right"><span class="colour" style="color:rgb(51, 51, 51)"><span class="size" style="font-size:x-small"><a href="http://www.renatocron.com/blog/" target="_blank">http://www.renatocron.com/blog/</a></span></span><br></div>
</div>
<div style="text-align:right"><span class="colour" style="color:rgb(51, 51, 51)"><span class="size" style="font-size:x-small"><a href="http://twitter.com/#!/renato_cron" target="_blank">@renato_cron</a></span></span><br></div>
</div>
<div> </div>
<div>=begin disclaimer<br></div>
<div>
   Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" target="_blank">http://sao-paulo.pm.org/</a><br></div>
<div>
 SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org">SaoPaulo-pm@pm.org</a><br></div>
<div>
 L<<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>><br></div>
<div>
=end disclaimer<br></div>
<div> </div>
</blockquote></div>
<div> </div>
<div> </div>
<div> </div>
<div>-- <br></div>
<div>Tiago B. Peczenyj<br></div>
<div>Linux User #405772<br></div>
<div> </div>
<div><a href="http://about.me/peczenyj" target="_blank">http://about.me/peczenyj</a>
<br></div>
</div>
<div>=begin disclaimer<br></div>
<div>   Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/">http://sao-paulo.pm.org/</a><br></div>
<div> SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org">SaoPaulo-pm@pm.org</a><br></div>
<div> L<<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>><br></div>
<div>=end disclaimer<br></div>
</blockquote><div> </div>
<div id="sig1112304"><div class="signature">--<br></div>
<div class="signature">Nuba R. Princigalli  nuba@pauleira.com  http://pauleira.com  @nprincigalli<br></div>
<div class="signature">Discipline is not an end in itself, just a means to an end. - King Crimson<br></div>
<div class="signature"> </div>
</div>
</body>
</html>