Desculpe ...<div><br></div><div>Esse trecho:</div><div><br></div><div><span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; "><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>Era para ser assim:</div><div><br></div><div><div>e também é a mesma coisa que:</div><div><br></div><div><br></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">andregarciacarneiro@gmail.com</a>&gt;</span> escreveu:<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 class="im">
<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 class="im">
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 class="h5"><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 class="im">_______________________________________________<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><br><br clear="all"><br>-- <br>André Garcia Carneiro<br>Analista/Desenvolvedor Perl<br>(11)82907780<br>
</div>