Acho a utilização de OO, uma vez que a implementação é simples, o código fica mais limpo e a manutenção fica mais fácil. Mas claro que depende do que você está fazendo. Dentre as soluções, eu indicaria a do Champs e a do Eden, caberia a você, ao seu código e à sua necessidade a escolha.<br>
<br>[]s<br><br><div class="gmail_quote">2008/4/28 Lucas Mateus &lt;<a href="mailto:lucasmateus.oliveira@gmail.com">lucasmateus.oliveira@gmail.com</a>&gt;:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Bom encontrei outra solução simples com Typeglob. Que acham dessa ? Particularmente acho que não carece de OO para essa solução.<br>
<br>
use vars qw/$host/;<br>
<br>
*host = \&#39;localhost&#39;;<div class="Ih2E3d"><br>
<br>



print eval { $host = &#39;<a href="http://10.1.1.1/" target="_blank">10.1.1.1</a>&#39; } ?&nbsp; &quot;O valor de \$host foi alterado\n&quot; :&nbsp; &quot;O valor de \$host nao pode ser alterado\n&quot;;<br>
print eval { *host = \&#39;<a href="http://10.1.1.1/" target="_blank">10.1.1.1</a>&#39; } ?&nbsp; &quot;O valor de \$host foi alterado\n&quot; :&nbsp; &quot;O valor de \$host nao pode ser alterado\n&quot;;<br><br><br><br></div><div class="gmail_quote">

2008/4/28 Gabriel Vieira &lt;<a href="mailto:gabriel.vieira@gmail.com" target="_blank">gabriel.vieira@gmail.com</a>&gt;:<div><div></div><div class="Wj3C7c"><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

&nbsp;print &#39;After readwrite: &#39; . readonly . &quot;\n&quot;;<div><div></div><div><br><br><div class="gmail_quote">On Mon, Apr 28, 2008 at 12:55 PM, Eden Cardim &lt;<a href="mailto:edencardim@gmail.com" target="_blank">edencardim@gmail.com</a>&gt; wrote:<br>


<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div>2008/4/28 Lucas Mateus &lt;<a href="mailto:lucasmateus.oliveira@gmail.com" target="_blank">lucasmateus.oliveira@gmail.com</a>&gt;:<br>



</div><div>&gt; Achei esse barato aki, o que acham ?<br>
&gt;<br>
&gt; &nbsp;my $host = &#39;localhost&#39;;<br>
&gt;<br>
&gt; &nbsp;Internals::SvREADONLY($host =&gt; 1); &nbsp;# lock $host<br>
&gt; &nbsp;print eval { $host = &#39;<a href="http://10.1.1.1" target="_blank">10.1.1.1</a>&#39; } ? &nbsp;&quot;O valor de \$host foi alterado\n&quot; :<br>
&gt; &quot;O valor de \$host nao pode ser alterado\n&quot;;<br>
&gt;<br>
&gt; &nbsp;Internals::SvREADONLY($host =&gt; 0); &nbsp;# unlock $host<br>
&gt; &nbsp;print eval { $host = &#39;<a href="http://10.1.1.1" target="_blank">10.1.1.1</a>&#39; } ? &nbsp;&quot;O valor de \$host foi alterado\n&quot; :<br>
&gt; &quot;O valor de \$host nao pode ser alterado\n&quot;;<br>
<br>
</div>Que tal usar lvalues?<br>
<br>
 &nbsp; &nbsp;use warnings;<br>
 &nbsp; &nbsp;use strict;<br>
<br>
 &nbsp; &nbsp;my $foo = &#39;bar&#39;;<br>
<br>
 &nbsp; &nbsp;sub readwrite :lvalue { $foo }<br>
<br>
 &nbsp; &nbsp;sub readonly { $foo }<br>
<br>
 &nbsp; &nbsp;print &#39;Initial value: &#39; . readonly . &quot;\n&quot;;<br>
 &nbsp; &nbsp;eval q{ readonly = &#39;baz&#39; };<br>
 &nbsp; &nbsp;warn $@ if $@;<br>
 &nbsp; &nbsp;print &#39;After readonly: &#39; . readonly . &quot;\n&quot;;<br>
 &nbsp; &nbsp;readwrite = &#39;baz&#39;;<br>
 &nbsp; &nbsp;print &#39;After readwrite: &#39; . readwrite . &quot;\n&quot;;<br>
<br>
Inclusive os erros de escrita proibida são pegos em tempo de compilação :)<br>
<font color="#888888"><br>
--<br>
<a href="http://edenc.vox.com" target="_blank">edenc.vox.com</a><br>
</font><div><div></div><div>_______________________________________________<br>
SaoPaulo-pm mailing list<br>
<a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a><br>
</div></div></blockquote></div><br><br clear="all"><br></div></div>-- <br><font color="#888888">Gabriel Vieira
</font><br>_______________________________________________<br>
SaoPaulo-pm mailing list<br>
<a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a><br></blockquote></div></div></div><br>
<br>_______________________________________________<br>
SaoPaulo-pm mailing list<br>
<a href="mailto:SaoPaulo-pm@pm.org">SaoPaulo-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a><br></blockquote></div><br><br clear="all"><br>-- <br>Gabriel Vieira