On 7/23/07, <b class="gmail_sendername">Igor Sutton Lopes</b> &lt;<a href="mailto:igor.sutton@gmail.com">igor.sutton@gmail.com</a>&gt; wrote:<div><span class="gmail_quote"></span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Não é bem assim, no caso em questão Wendel. Quando você utiliza &#39;=&gt;&#39;, o<br>perl transforma tudo que está na esquerda dele em string. Dito isso, os<br>seguintes comandos são idênticos:<br><br>%my_hash = (a =&gt; 1);
<br>%my_hash = (&#39;a&#39;, 1);<br><br>Executando o código acima com -MO=Deparse (antes que alguém fale, sim,<br>estou usando Windows neste computador :-P):<br><br>C:\WINDOWS\system32\cmd.exe /c perl -MO=Deparse \temp\t.pl
<br>(%hash) = (&#39;a&#39;, 1);<br>(%hash) = (&#39;a&#39;, 1);<br>\temp\t.pl syntax OK<br><br>Agora a coisa muda de figura quando você tem palavras compostas como<br>valor da esquerda: neste caso é sempre obrigatório ter aspas na chave,
<br>como em &quot;(%hash) = (&#39;minha chave&#39; =&gt; 1)&quot;.<br><br>Espero que tenha ficado mais claro!<br><br></blockquote></div><br>Se fosse assim isso aqui não aconteceria:<br><br>perl -e &#39;%my_hash = ( ç&nbsp; =&gt; 1)&#39;
<br>Unrecognized character \xC3 at -e line 1.<br><br clear="all">Sendo que &quot;ç&quot; não é uma palavra composta. Se não me engano ele só vira string se bate com o \w+ usual, que foi o que eu quis dizer com &quot;ser um identificador válido&quot;. Isto é, perl &quot;estrito&quot; não gosta que se use barewords, mas é bonzinho se elas estiverem à esquerda do =&gt; .
<br><br>Claro que isso é só um palpite meu baseado em observações, não em documentação ^_^;;;<br><br>[]s<br>Wendel<br>--<br>&quot;Não ajustar o auto-ajuste&quot; - <a href="http://wendel.scardua.net/">http://wendel.scardua.net/
</a>