hm... se eu não me engano, tem como separar o @_ de uma função e restaurar o "@_::parent" de alguma forma, não me lembro exatamente como =(<div><br></div><div><br></div><div>Alguém aqui na lista deve saber!<br><br>

<div class="gmail_quote">2012/6/21 Solli Honorio <span dir="ltr"><<a href="mailto:shonorio@gmail.com" target="_blank">shonorio@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

Pessoal,<div><br></div><div>Este é apenas um compartilhamento de experiência que pode ser útil aos demais, sobre a minha frustação do perl não ter um try-catch de leitura simples e nativo. </div><div><br></div><div>Tenho observado que o Try::Tiny está sendo utilizado em vários módulos sérios e com grande utilização, em substituição ao eval{ ... } (já que apenas os letrados em perl entende isto).</div>



<div><br></div><div>As coisas estavam encaminhando bem, até que eu resolvi 'melhorar o meu código' e passei a ter uma coisa do tipo : </div><div><br></div><div><code></div><div><div><font face="courier new, monospace">use Try::Tiny;</font></div>



<div><font face="courier new, monospace">use Params::Validate qw(:all);</font></div><div><font face="courier new, monospace"><br></font></div><div><font face="courier new, monospace">sub foo {</font></div><div><font face="courier new, monospace">  my $self  = shift;</font></div>



<div><font face="courier new, monospace">  my $param = try { validate(@_, { name => { SCALAR } } ) } catch { ... };</font></div><div><font face="courier new, monospace"><br></font></div><div><font face="courier new, monospace">    ...</font></div>



<div><font face="courier new, monospace"><br></font></div><div><font face="courier new, monospace">}</font></div></div><div></code></div><div><br></div><div>E aí todos os meus teste falharam, depois de algumas análise descobri (sem muita surpresa) que o try { } localiza o @_ (claro, isto é um função qualquer) e  com valor inválido. Este problema eu não tenho com o eval { }. </div>



<div><br></div><div>Bom, eu ainda vou continuar a utilizar o Try::Tiny, por enquanto, mas é neste momento que a gente percebe que estes 'quebra-galho' no perl é chato !</div><span class="HOEnZb"><font color="#888888"><div>

<br></div><div>Solli Honorio</div>

<div><br></div><div><br></div><div>-- <br>"o animal satisfeito dorme". - Guimarães Rosa<br>
</div>
</font></span><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><div><span style="color:rgb(51,51,51);font-size:x-small">Saravá,</span></div><div><span style="color:rgb(51,51,51);font-size:x-small">Renato CRON</span></div>

<div><div style="text-align:right"><font size="1" color="#333333"><a href="http://www.renatocron.com/blog/" target="_blank">http://www.renatocron.com/blog/</a></font></div></div><div style="text-align:right"><font size="1" color="#333333"><a href="http://twitter.com/#!/renato_cron" target="_blank">@renato_cron</a></font></div>

<br>
</div>