[Cascavel-pm] Duvida com DBI

Luis Campos de Carvalho monsieur_champs em yahoo.com.br
Quinta Maio 12 16:39:21 PDT 2005


--- Lorn <lorn.br em gmail.com> escreveu:
> Tentei fazer com hash, até funciona só que não consigo pegar os dados,
> o negocio é array mesmo, eu não entendi o que voce quis dizer com
> desreferenciar, ou melhor dizendo, eu não sei desreferenciar um array.

  Referências são como ponteiros (do ANSI C) mas mais espertos (mais que o Java).
  Tudo o que você precisa saber para começar é:

  1. Operador "referência": "\" cria uma referência de uma variável. Assim:

  $scalar_ref = \$scalar;
  $array_ref  = \@array;
  $hash_ref   = \%hash;

  2. Referências para hashes e arrays anônimos podem ser criados assim:

  $anon_array_ref = [ qw/ um array anonimo não tem correspondente físico no programa / ];
  $anon_hash_ref  = { referencia => "para", um => "hash", anonimo => "sim!" };

  3. Para de-referenciar (e obter de volta o objeto "apontado" por uma referência), você deve usar
o caracter indicador de "tipo" que você deseja obter depois da de-referência:

  @real_array = @$array_ref; # te traz de volta o array guardado em $array_ref.
  %real_hash  = %$hash_ref;  # te traz de volta o hash guardado em $hash_ref.

  3.1. você pode desejar obter apenas uma parte do objeto de-referenciado, assim:

  $quinto_elemento = $array_ref->[5];
  $sexto_elemento  = $$array_ref[5]; # mesma coisa, TIMTOWTDI.

  $chave_oies = $hash_ref->{oies};
  $chave_oies = $$hash_ref{oies};

  Isso é BEM básico, mas resolve a maior parte dos seus problemas.
  Desculpe a demora em responder, mas eu andei ocupado com outras coisas durante o dia de hoje...
  Putamplexos!

--
Luis Campos de Carvalho
Member of "São Paulo Perl Mongers",
Unix SysAdmin & OCP/DBA Oracle
http://br.geocities.com/monsieur_champs/

__________________________________________________
Converse com seus amigos em tempo real com o Yahoo! Messenger 
http://br.download.yahoo.com/messenger/ 


Mais detalhes sobre a lista de discussão Cascavel-pm