Página 1 de 1

Imprimir y rellenar hash pasado por referencia

NotaPublicado: 2016-11-16 13:01 @584
por pepiño
Hola, muy buenas. Acabo de empezar con Perl. He conseguido generar un código que vuelca el contenido de un fichero a un hash de hashes (como variable global) y después lo imprime.

Siguiente paso: ahora intento pasar a la función el hash de hashes referenciado (declarado globalmente y vacío). Rellenarlo usando la referencia a memoria, y después imprimirlo.

¿Me puede sugerir cómo acceder al valor referenciado del hash de hashes para modificar su valor y posteriormente poder imprimirlo?

Muchísimas gracias.

Re: Imprimir y rellenar hash pasado por referencia

NotaPublicado: 2016-11-16 17:58 @790
por explorer
Bienvenido a los foros de Perl en Español, pepiño.

La forma de acceder es desreferenciando, igual a como se hacía en C:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1.         $hash_ref->{$clave1}->{$clave2} = $valor;
  2.  
  3.         print $hash_ref->{$clave1}->{$clave2};
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


En Perl, además, existe la regla de que, entre llaves y corchetes, el puntero '->' es opcional, así que queda abreviado a

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1.         print $hash_ref->{$clave1}{$clave2};
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Más información en tu propio ordenador en perldoc perlreftut, y en la Web (traducido al español).

Más información en tu propio ordenador en perldoc perlref, y en la Web (traducido al español).

Más información en tu propio ordenador en perldoc perldata, y en la Web (traducido al español).

Re: Imprimir y rellenar hash pasado por referencia

NotaPublicado: 2016-11-17 04:46 @240
por pepiño
Muchísimas gracias por la pronta respuesta, explorer.

Pep.