value <span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; ">Ricardo Bittencourt, estou usando o ideone!</span><div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse;"><br>

</span></font></div><div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse;">Então, basicamente, o perl sabe que vai mudar o valor do HASH (mesmo usando uma @ antes), eu acho, que é porque tem as chaves depois, assim ele sabe que tem que acessar como se fosse um HASH, e nao como array (pois seriam colchetes):</span></font></div>

<div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse;"><br></span></font></div><div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse;">Agora mudando um pouco o assunto,</span></font></div>

<div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse;"> Eu fico muito chateado de nao poder fazer isso:</span></font></div><div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse;"><span class="Apple-style-span" style="border-collapse: separate; font-family: monospace; font-size: 13px; color: rgb(0, 0, 102); white-space: pre; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "><pre class="de1" style="margin-top: 0px; margin-bottom: 0px; padding-bottom: 5px; padding-top: 3px; padding-left: 10px; ">

<span class="kw2" style="line-height: 13px !important; color: rgb(0, 0, 0); font-weight: bold; ">use</span> strict<span class="sy0" style="line-height: 13px !important; color: rgb(51, 153, 51); ">;</span>
<span class="kw2" style="line-height: 13px !important; color: rgb(0, 0, 0); font-weight: bold; ">use</span> warnings<span class="sy0" style="line-height: 13px !important; color: rgb(51, 153, 51); ">;</span>
<span class="kw2" style="line-height: 13px !important; color: rgb(0, 0, 0); font-weight: bold; ">use</span> diagnostics<span class="sy0" style="line-height: 13px !important; color: rgb(51, 153, 51); ">;</span>
<span class="kw2" style="line-height: 13px !important; color: rgb(0, 0, 0); font-weight: bold; ">use</span> Data<span class="sy0" style="line-height: 13px !important; color: rgb(51, 153, 51); ">::</span><span class="me2" style="line-height: 13px !important; color: rgb(0, 102, 0); ">Dumper</span><span class="sy0" style="line-height: 13px !important; color: rgb(51, 153, 51); ">;</span>
 
<span class="kw1" style="line-height: 13px !important; color: rgb(177, 177, 0); ">my</span> <span class="re0" style="line-height: 13px !important; color: rgb(0, 0, 255); ">$array_ref</span> <span class="sy0" style="line-height: 13px !important; color: rgb(51, 153, 51); ">=</span> <span class="kw3" style="line-height: 13px !important; color: rgb(0, 0, 102); "><a href="http://perldoc.perl.org/functions/undef.html" style="text-decoration: none; color: rgb(0, 0, 96); ">[</a>]</span><span class="sy0" style="line-height: 13px !important; color: rgb(51, 153, 51); ">;</span> <span class="co1" style="line-height: 13px !important; color: rgb(102, 102, 102); font-style: italic; "># ou =undef, tanto faz</span>
<span class="kw1" style="line-height: 13px !important; color: rgb(177, 177, 0); ">my</span> <span class="re0" style="line-height: 13px !important; color: rgb(0, 0, 255); ">$string_to_split</span> <span class="sy0" style="line-height: 13px !important; color: rgb(51, 153, 51); ">=</span> <a href="http://perldoc.perl.org/functions/q.html" style="text-decoration: none; color: rgb(0, 0, 96); "><span class="kw3" style="line-height: 13px !important; color: rgb(0, 0, 102); ">q</span></a><span class="br0" style="line-height: 13px !important; color: rgb(0, 153, 0); ">{</span>some data to <a href="http://perldoc.perl.org/functions/split.html" style="text-decoration: none; color: rgb(0, 0, 96); "><span class="kw3" style="line-height: 13px !important; color: rgb(0, 0, 102); ">split</span></a><span class="br0" style="line-height: 13px !important; color: rgb(0, 153, 0); ">}</span><span class="sy0" style="line-height: 13px !important; color: rgb(51, 153, 51); ">;</span>
<span class="sy0" style="line-height: 13px !important; color: rgb(51, 153, 51); ">@</span><span class="br0" style="line-height: 13px !important; color: rgb(0, 153, 0); ">{</span><span class="re0" style="line-height: 13px !important; color: rgb(0, 0, 255); ">$array_ref</span><span class="br0" style="line-height: 13px !important; color: rgb(0, 153, 0); ">}</span> <span class="sy0" style="line-height: 13px !important; color: rgb(51, 153, 51); ">=</span> <a href="http://perldoc.perl.org/functions/split.html" style="text-decoration: none; color: rgb(0, 0, 96); "><span class="kw3" style="line-height: 13px !important; color: rgb(0, 0, 102); ">split</span></a> <span class="br0" style="line-height: 13px !important; color: rgb(0, 153, 0); ">(</span><span class="co2" style="line-height: 13px !important; color: rgb(0, 153, 102); font-style: italic; ">/\s/</span><span class="sy0" style="line-height: 13px !important; color: rgb(51, 153, 51); ">,</span> <span class="re0" style="line-height: 13px !important; color: rgb(0, 0, 255); ">$string_to_split</span><span class="br0" style="line-height: 13px !important; color: rgb(0, 153, 0); ">)</span><span class="sy0" style="line-height: 13px !important; color: rgb(51, 153, 51); ">;</span>
<a href="http://perldoc.perl.org/functions/print.html" style="text-decoration: none; color: rgb(0, 0, 96); "><span class="kw3" style="line-height: 13px !important; color: rgb(0, 0, 102); ">print</span></a> Dumper <span class="re0" style="line-height: 13px !important; color: rgb(0, 0, 255); ">$array_ref</span><span class="sy0" style="line-height: 13px !important; color: rgb(51, 153, 51); ">;</span></pre>

</span></span></font></div><div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse;"><br></span></font></div><div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse;"><br>

</span></font></div><div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse;">Oras bolas, funcionou. Deve ser a versao do perl (5.8.?) diferentes na minha empresa. Ou era outro comando, (nao o split, e sim o sort)</span></font></div>

<div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse;"><br></span></font></div><div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse;">Eu particularmente prefiro usar referencias tanto para array tanto para HASH, fica muito mais limpo passar por parametros (sem precisar usar \)</span></font></div>

<div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse;">Nao percebi nenhuma piora na perfomance.<br></span></font><div><div><br><br><div class="gmail_quote">

2010/7/25 Andre Carneiro <span dir="ltr">&lt;<a href="mailto:andregarciacarneiro@gmail.com">andregarciacarneiro@gmail.com</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

Desculpe ...<div><br></div><div>Esse trecho:</div><div><br></div><div><span style="font-family:arial, sans-serif;font-size:13px;border-collapse:collapse"><div class="im"><div>e também é a mesma coisa que:</div>
<div><br></div><div><br></div><div><div>my %lista  = (banana =&gt; 5 ,</div><div>                   laranhas =&gt; 10 ,</div><div>                   melões =&gt; 15</div><div>                 );</div></div><div><br></div>


<div><br></div><div><br></div></div><div>Era para ser assim:</div><div><br></div><div><div class="im"><div>e também é a mesma coisa que:</div><div><br></div><div><br></div></div><div><div>my %quantidade  = (banana =&gt; 5 ,</div>

<div>                   laranhas =&gt; 10 ,</div>
<div>                   melões =&gt; 15</div><div>                 );</div></div></div><div><br></div></span><br><div class="gmail_quote">Em 25 de julho de 2010 09:14, Andre Carneiro <span dir="ltr">&lt;<a href="mailto:andregarciacarneiro@gmail.com" target="_blank">andregarciacarneiro@gmail.com</a>&gt;</span> escreveu:<div>

<div></div><div class="h5"><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>INTRODUÇÃO:</div><div><br></div><div><br></div>A palavra chave para você entender isso é LISTA. Você pode se referir a LISTAS de várias maneiras:<div>


<br></div><div>my %lista  = (banana =&gt; 5 ,</div><div>                   laranhas =&gt; 10 ,</div>
<div>                   melões =&gt; 15</div><div>                 );</div><div><br></div><div>ou</div><div><br></div><div>my %lista  = (banana , 5 , laranjas, 10, melões , 15);</div><div><br></div><div><br></div><div>ou</div>



<div><br></div><div>my %lista = qw / banana 5 laranjas 10 melões 15 /;<br><br></div><div><br></div><div>etc...</div><div><br></div><div><br></div><div>São todos LISTAS para Perl, acessíveis em forma de hash ou array( você precisa escolher um ). No entanto, Perl tem a flexibilidade de poder interpretar um array para montar um hash, e vice-versa. Nesse caso em que estamos montando um hash através de um array, o primeiro valor do array é a chave, e o segundo é o valor dessa chave, e assim por diante. Se o último valor estiver faltando( ex: my %lista = (1,&#39;um&#39;,2) ), o último valor vem como &#39;undef&#39; no hash. </div>


<div>
<div><br></div><div><br></div><div><div>my @frutas = qw / bananas laranjas melões /;</div><div>my @unidades = qw / 5 10 15 /;</div></div><div><br></div><div>%quantidade{ @frutas } = @unidades;</div><div><br></div></div><div>


É a mesma coisa que:</div>
<div><br></div><div><br></div><div>my %quantidade  = (banana , 5 , laranjas, 10, melões , 15);</div><div><br></div><div><br></div><div>e também é a mesma coisa que:</div><div><br></div><div><br></div><div><div>my %lista  = (banana =&gt; 5 ,</div>



<div>                   laranhas =&gt; 10 ,</div><div>                   melões =&gt; 15</div><div>                 );</div></div><div><br></div><div><br></div><div><br></div><div>capito?</div><div><br></div><div><br></div>



<div><br></div><div><br></div><div>OBS1: No entanto é preciso deixar claro que, no seguinte caso abaixo:</div><div><br></div><div>my %lista = (banana , 5 , laranjas, 10, melões , 15);</div><div><br></div><div>e</div><div>



<br></div><div>my @lista = (banana , 5 , laranjas, 10, melões , 15);</div><div><br></div><div><br></div><div>SERIAM VARIÁVEIS DIFERENTES!!! </div><div><br></div><div><br></div><div> </div><div>
<br></div><div>RESPONDENDO AS PERGUNTAS</div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div>1) São todos LISTAS para Perl, independentemente se são &#39;arrays&#39; ou &#39;hashes&#39;. São apenas maneiras diferentes de se referir a listas;</div>



<div><br></div><div>2) Sim, pode. O &#39;hash&#39; %quantidade é &#39;montado&#39; a partir de duas LISTAS: @quantidade e @frutas. O interpretador se vira com isso( Veja a introdução ).</div><div><br></div><div><br></div>



<div><br></div><div><br></div><div>Mais detalhes? Leia aqui: <a href="http://perldoc.perl.org/perldata.html#List-value-constructors" target="_blank">http://perldoc.perl.org/perldata.html#List-value-constructors</a> e depois traga suas dúvidas   ;-) .</div>



<div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div>Cheers!</div><div><br></div><div><br></div><div><br></div><div><br><div class="gmail_quote"><div>
2010/7/24 &quot;Flávio R. Lopes&quot; <span dir="ltr">&lt;<a href="mailto:flavio.lopes@links.inf.br" target="_blank">flavio.lopes@links.inf.br</a>&gt;</span><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">









<div bgcolor="#ffffff" text="#000000">
Olá pessoal, tudo bem?<div><div></div><div><br>
<br>
Seguinte, estou tendo certa dificuldade para entender sobre Hash Slices.<br>
<br>
Vi um exemplo de Hash Slices  no livro que estou lendo e tentei montar
um para tentar entender o funcionamento:<br>
<br>
    my %quantidade;<br>
<br>
    my @frutas = qw / bananas laranjas melões /;<br>
    my @unidades = qw / 5 10 15 /;<br>
    @quantidade{ @frutas } = @unidades;<br>
<br>
    foreach my $frutas ( @frutas ) {<br>
        say &quot;Eu comprei $quantidade{$frutas} $frutas&quot;<br>
    }<br>
<br>
Minhas dificuldade são:<br>
1)<br>
Como o Perl &quot;sabe&quot; que &quot;@quantidade&quot; refere-se ao hash &quot;%quantidade&quot;  ?
<br>
Por exemplo, se houvesse um outro array &quot;<b>@quantidade</b> = qw/ 1 2
/&quot;  porque não causa confusão com &quot;<b>@quantidade</b>{ @frutas } =
@unidades&quot; ?<br>
<br>
2)<br>
Na linha: @quantidade{ @frutas } = @unidades;  <br>
## Posso entender que é aqui que é &quot;montado&quot; o hash &quot;%quantidade&quot;  ? <br>
<br>
Onde:<br>
Para cada chave: <b>@quantidade{ @frutas }</b><br>
É atribuído um valor: <b>@unidades</b><br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
</div></div></div>

<br><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></blockquote></div><br><br clear="all"><br>-- <br>André Garcia Carneiro<br>Analista/Desenvolvedor Perl<br>



(11)82907780<br>
</div>
</blockquote></div></div></div><div><div></div><div class="h5"><br><br clear="all"><br>-- <br>André Garcia Carneiro<br>Analista/Desenvolvedor Perl<br>(11)82907780<br>
</div></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><br clear="all"><br>-- <br>Renato Santos<br><a href="http://www.renatocron.com/blog/" target="_blank">http://www.renatocron.com/blog/</a><br>


</div></div></div>