entendi, no segundo exemplo se &quot;tenta&quot; imprimir a variável de um escopo em outro, então não daria certo, correto?<br><br>
<div><span class="gmail_quote">Em 28/04/08, <b class="gmail_sendername">Solli Honorio</b> &lt;<a href="mailto:shonorio@gmail.com">shonorio@gmail.com</a>&gt; escreveu:</span>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">Isto mesmo Samir, você pode escrever coisas assim :<br><br><span style="FONT-FAMILY: courier new,monospace">&lt;code&gt;</span><br style="FONT-FAMILY: courier new,monospace">
<br style="FONT-FAMILY: courier new,monospace"><span style="FONT-FAMILY: courier new,monospace">for my $i&nbsp; (0..100) {</span><br style="FONT-FAMILY: courier new,monospace"><span style="FONT-FAMILY: courier new,monospace">&nbsp; imprimir($i);</span><br style="FONT-FAMILY: courier new,monospace">
<span style="FONT-FAMILY: courier new,monospace">}</span><br style="FONT-FAMILY: courier new,monospace"><span style="FONT-FAMILY: courier new,monospace"><br>sub imprimir {<br>&nbsp; my $i = shift;<br>&nbsp; print &quot;$i\n&quot;;<br>
}<br><br>&lt;/code&gt;</span><br><br>Apesar das variáveis terem o mesmo nome, elas possuem endereço de memória distintas, por isto são variáveis diferentes.&nbsp; Mas tome cuidado com isto, pois o código abaixo não vai rodar exatamente como você acha, teste você mesmo.<br>
<br><span style="FONT-FAMILY: courier new,monospace">&lt;code&gt;</span><br style="FONT-FAMILY: courier new,monospace"><br style="FONT-FAMILY: courier new,monospace"><span style="FONT-FAMILY: courier new,monospace">my $i = 0;<br>
for my $i&nbsp; (0..100) {</span><br style="FONT-FAMILY: courier new,monospace"><span style="FONT-FAMILY: courier new,monospace">&nbsp; imprimir($i);</span><br style="FONT-FAMILY: courier new,monospace"><span style="FONT-FAMILY: courier new,monospace">}</span><br style="FONT-FAMILY: courier new,monospace">
<span style="FONT-FAMILY: courier new,monospace"><br>sub imprimir {<br>&nbsp; print &quot;$i\n&quot;;<br>}<br><br>&lt;/code&gt;</span><br><br>Outro detalhe importante são os closures,&nbsp; mas acho melhor você compreender bem a questão da variável local e global.<br>
<br>Abraços,<br><br>Solli M. Honório<br><br style="FONT-FAMILY: courier new,monospace">
<div class="gmail_quote">2008/4/28 Samir Cury &lt;<a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:rimasy@gmail.com" target="_blank">rimasy@gmail.com</a>&gt;:<br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0pt 0pt 0pt 0.8ex; BORDER-LEFT: rgb(204,204,204) 1px solid">
<div><span class="e" id="q_119977db6f871712_1">Pessoal,<br><br>Vendo algumas palestras lá no ET pensei o seguinte:<br><br>foi falado muito de <br>&nbsp;<br>{<br><br>&nbsp; Escopo<br><br>} <br><br>então se eu &quot;tranco&quot; o meu loop dentro do escopo usando $i como índice, e declaro &quot;$i&quot; como &quot;my $i&quot;, então ela será uma variável local dentro daquele escopo APENAS, ou seja, para o resto do programa (fora do escopo) ela nem existe, então eu posso em todos os loops usar a mesma variável.<br>
<br>Bom foi isso que eu deduzi, queria uma confirmação.<br><br>Valeu!<br><br></span></div>_______________________________________________<br>Rio-pm mailing list<br><a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:Rio-pm@pm.org" target="_blank">Rio-pm@pm.org</a><br>
<a onclick="return top.js.OpenExtLink(window,event,this)" href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">http://mail.pm.org/mailman/listinfo/rio-pm</a><br></blockquote></div><span class="sg"><br><br clear="all">
<br>-- <br>&quot;o animal satisfeito dorme&quot;. - Guimarães Rosa </span><br>_______________________________________________<br>Rio-pm mailing list<br><a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:Rio-pm@pm.org">Rio-pm@pm.org</a><br>
<a onclick="return top.js.OpenExtLink(window,event,this)" href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">http://mail.pm.org/mailman/listinfo/rio-pm</a><br></blockquote></div><br>