Deixa eu tentar explicar um pouco, do jeito que eu entendo (o cara parece ter pesquisado a respeito afinal):<br><br>&quot;my&quot; declara uma variável, &quot;local&quot; não.<br><br>O &quot;local&quot; pega uma variável que *já ecziste* (Quevedo TM), e &quot;salva&quot; o valor dela, permitindo você usá-la dentro do contexto atual, e ao sair do contexto, o valor anterior é restaurado.
<br><br>Isso pode parecer inútil (afinal parece até uma gambiarra, comparado com o &quot;my&quot;), mas pense no caso de variáveis especiais, como $1, $_, etc, e em geral variáveis globais, que você *não pode criar* no contexto atual. Nesses casos, o &quot;local&quot; funciona, salvando o valor delas e restaurando após o final do contexto.
<br><br># Exemplo 1:<br>my $x = 42; # cria uma variável $x<br>{ <br>&nbsp;&nbsp;&nbsp; my $x = 23;&nbsp; # cria uma nova variável $x , que só existe aqui dentro<br>&nbsp;&nbsp;&nbsp; print $x,&quot;\n&quot;;<br>}<br>print $x, &quot;\n&quot;;<br><br># imprime 23 e 42
<br><br># Exemplo 2:<br>my $x = 42; # cria uma variável $x<br>
{ <br>
&nbsp;&nbsp;&nbsp; local $x = 23; # salva o 42, e a mesma variável passa a valer 23<br>
&nbsp;&nbsp;&nbsp; print $x,&quot;\n&quot;;<br>
}&nbsp; # restaura o 42<br>
print $x, &quot;\n&quot;;<br>
<br># imprime 23 e 42<br><br># Exemplo 3:<br>$_ = 42; <br>
{ <br>

&nbsp;&nbsp;&nbsp; my $_ = 23;<br>

&nbsp;&nbsp;&nbsp; print $_,&quot;\n&quot;;<br>

}&nbsp; <br>

print $_, &quot;\n&quot;;<br>

<br># dá erro, você não pode declarar my $_ , por $_ ser uma variável global<br><br># Exemplo 4:<br>
$_ = 42; <br>

{ <br>


&nbsp;&nbsp;&nbsp; local $_ = 23;&nbsp; # salva o 42<br>


&nbsp;&nbsp;&nbsp; print $_,&quot;\n&quot;;<br>


}&nbsp;&nbsp; # restaura o 42<br>


print $_, &quot;\n&quot;;<br>


<br># imprime 23 e 42<br><br>Agora espero que as coisas fiquem mais claras quando você RTFM (como sugerido pelo Luis)<br>(e se eu mesmo falei alguma besteira aí em cima, é melhor ficar só com os perldocs mesmo, hehe)<br>
<br>[]s<br>Wendel<br><br><br><div><span class="gmail_quote">On 2/15/07, <b class="gmail_sendername">Luis Motta Campos</b> &lt;<a href="mailto:luismottacampos@yahoo.co.uk">luismottacampos@yahoo.co.uk</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>&nbsp;&nbsp; RTFM, meu caro:<br>&nbsp;&nbsp; perldoc -f local<br>&nbsp;&nbsp; perldoc -f my<br>&nbsp;&nbsp; perldoc -f our<br><br>&nbsp;&nbsp; Se você quer declarar variáveis, o mais provável é que precise o my<br>().<br><br>&nbsp;&nbsp; Se você postar o seu código problemático, posso ser específico
<br>sobre o seu problema, e te explicar o que acontece.<br></blockquote></div><br>-- <br><br>&quot;Não ajustar o auto-ajuste&quot; - <a href="http://wendel.scardua.net/">http://wendel.scardua.net/</a>