Cleive,<br><br><div class="gmail_quote">2010/6/30 GmailPaqui <span dir="ltr">&lt;<a href="mailto:cpaqui@gmail.com">cpaqui@gmail.com</a>&gt;</span><br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">




  

<div bgcolor="#ffffff" text="#000000">
Caros, boa tarde!<br>
<br>
Estou tendo problemas para passar dois parâmetros para uma sub, um hash
e um scalar.<br>
<br>
SubHashScalar(%hash, $scalar);<br>
<br>
sub SubHshScalar () {<br>
    my (%hash, $scalar) = @_;<br>
<br>
    print &quot;@{[ %hash ]}\n&quot;;<br>
    printf &quot;Scalar: %s&quot;, $scalar;<br>
}<br>
<br>
O parâmetro scalar não esta sendo configurado, se eu do um print no @_
imprime o hash e o scalar.<br>
<br>
O que estou fazendo de errado?<br>
<br></div></blockquote><div><br>Primeiro, não utilize o protótipo, isto é old-fashion e old-school na programação em Perl e não ajuda em nada atualmente no perl.<br><br>Na passagem de parâmetro não é garantido a preservação do tipo de variável. Então passar uma variável hash não significa que é obrigatória uma variável hash para que o valor seja recebido. A passagem de parâmetro que você está fazendo é uma cópia de valores (não vou explicar o que é isto, se isto for uma dúvida favor perguntar), e aí que está ocorrendo o problema. Como você está passando uma seqüência de dados { my (%hash, $scalar) = @_ }, o hash (e aconteceria o mesmo com o array), que é um cara guloso, fica com todos os dados.<br>

<br>Como já disseram, enquanto eu escrevia este email e garantia o wiskey das criança, se você inverter a passagem dos valores do parâmetros o problema não acontecerá.<br><br>A maneira mais segura de passar os valores neste caso é via referência, pois assim você garante se cada scalar (que armazena valores unitários) terá a referência do agrupamento desejado.<br>

<br>Espero que eu tenha conseguido ser claro na minha explicação, é que estou tendo muitas interrupções no trabalho e não vou conseguir detalhar tudo aqui.<br><br>Abraços,<br><br>Solli M. Honório<br><br> </div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

<div bgcolor="#ffffff" text="#000000">
Obrigado.<br>
<div>-- <br>
<span style="font-family: Verdana,sans-serif; font-size: 10pt; color: rgb(102, 153, 204);">
<b>Cleive Paqui</b> <br>
</span> </div>
</div>

<br>_______________________________________________<br>
Rio-pm mailing list<br>
<a href="mailto:Rio-pm@pm.org">Rio-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">http://mail.pm.org/mailman/listinfo/rio-pm</a><br></blockquote></div><br><br clear="all"><br>-- <br>&quot;o animal satisfeito dorme&quot;. - Guimarães Rosa<br>