Acceso a hash desde módulo
Publicado: 2015-05-08 22:13 @967
Hola, un saludo.
Tengo el siguiente problema: No puedo retornar los valores de un hash contenido en una subrutina llamada desde un módulo, un trozo del código:
Intento buscar el valor correspondiente, de la siguiente forma:
Pero no logro obtener el valor "pepe" que aparentemente se almacena en el hash.
¿Qué hago mal?
Tengo el siguiente problema: No puedo retornar los valores de un hash contenido en una subrutina llamada desde un módulo, un trozo del código:
Using perl Syntax Highlighting
- package query;
- sub new {} #
- sub struct_user
- {
- # Almacena datos de los usuarios actualmente conectados.
- #my $q = new;
- #my $class = shift;
- #my($id,$nick,$ip,$modos,$realname,$identd,$timestamp) = @_;
- my $struct = {
- users => {
- $nick => {
- id => $id,
- nickname => $nick,
- ip => $ip,
- modos => $modos,
- realname => $realname,
- identd => $identd,
- timestamp => $timestamp
- }
- },
- oldusers => {
- $id => {
- nickname => $nick
- }
- },
- };
- bless $struct;
- return $struct;
- }
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4
Intento buscar el valor correspondiente, de la siguiente forma:
Using perl Syntax Highlighting
- use query;
- # defino un id cualquiera
- my $id = "pepe";
- # inicio el objeto
- my $dbq = new query();
- # pongo el valor;
- $dbq->struct_user->{oldusers}->{$id}->{nickname} = "pepe";
- # consulto el valor previo
- my $dbr = $dbq->struct_user->{oldusers}->{$id}->{nickname};
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
Pero no logro obtener el valor "pepe" que aparentemente se almacena en el hash.
¿Qué hago mal?