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

<span style="font-family: courier new,monospace;"><div>&gt; Mas mesmo assim isto
parece meio estranho, pois a minha dúvida com relação a este problema é
se vc &gt; não quer que alguém externo as tuas rotinas façam esta alteração,
ou se é as tuas rotinas mesmo (o &gt; que não faz o menor sentido pra mim,
já que neste contexto vc está programando e pode definir que &gt; tipo de
ação cada rotina executará).<br>
<br></div>
Solli, aceite a afirmação: isso é necessário.<br>
</span></blockquote><div><br></div></div></div><span style="font-family: courier new,monospace;">tudo bem cara, eu aceito a tua afirmação. Só que tem um detalhe nesta história. Vc não está impedindo que alguém altere o teu valor, apenas está alterando a maneira de fazer isto. Se eu eu precisava apenas fazer a atribuição simples &#39;$variavel = valor&#39;, estou tendo que fazer outras &#39;maracutaias&#39; para atualizar o valor.<br>

<br>é difícil dar outra alternativa sem saber extamente o teu problema, mas na minha visão OO poderia ajudar se você definir a &quot;variável&quot; em questão como &#39;Read Only&#39; (utilizando o Class::Accessor) e aí nenhum método da classe poderá alterar o conteúdo. Desta maneira se vc quiser alterar o conteúdo terá se instanciar com outro valor.<br>

<br>Outra alternativa é utilizar o &#39;caller&#39; para restringir realmente quem você quer que tenha acesso de &#39;write&#39; na &#39;propertie&#39;, tipo :<br><br>&lt;code&gt;<br>package AlgumaCoisa;<br>use base qw(Class::Accessor);<br>

<br>__PACKAGE__-&gt;mk_accessors(qw(host));<br><br>sub host {<br>&nbsp; my $self = shift;<br>&nbsp; my $who_is_calling_me = ( caller(1) )[3];<br><br>&nbsp; if (@_) {<br>&nbsp;&nbsp;&nbsp; if ( $who_is_calling_me eq &quot;AlgumaCoisa::pode&quot; ) {<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $self-&gt;{host} = $_[0];<br>&nbsp;&nbsp;&nbsp; } else {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; die &quot;Ta louco meu !!!&quot;;<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp; }<br><br>&nbsp; return $self-&gt;{host};<br>}<br><br>sub pode {<br>&nbsp; my $self = shift;<br>&nbsp; $self-&gt;host(&#39;troquei&#39;);<br>

}<br><br>sub nao_pode {<br>&nbsp; my $self = shift;<br>&nbsp; $self-&gt;host(&#39;troquei&#39;);<br>}<br><br>1;<br><br>&lt;/code&gt;<br clear="all"></span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">Pra mim, o código acima faz mais sentido já que estou limitando qual método tem acesso de gravação. Claro que este cara ainda tem alguns limitantes, mas já dá para ter uma boa idéia sobre o meu questionamento sobre a real utilidade do código que vc está vendo e como estabelecer uma restrição mais consistente.</span><br style="font-family: courier new,monospace;">

<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">Abraços,</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">Solli M. Honório</span><br style="font-family: courier new,monospace;">

<br>- -<div><div></div><div class="Wj3C7c"><br>&quot;o animal satisfeito dorme&quot;. - Guimarães Rosa
</div></div><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>