• Publicidad

Problema para recorrer un hash

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Problema para recorrer un hash

Notapor Emstro » 2010-11-23 10:26 @477

Hola, mira, tengo este código y no encuentro el problema para poder imprimir el valor.

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. if ($action eq 'list') {
  2.  
  3.    $listallmail = $ml->GetAllMailAddresses();
  4.    foreach $row (%{$listallmail}) {
  5.            print "$row->{STATUS}";
  6.    }
  7. }
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4



Saludos.
Emstro
Perlero nuevo
Perlero nuevo
 
Mensajes: 31
Registrado: 2010-11-08 16:12 @716

Publicidad

Re: Problema para recorrer un hash

Notapor explorer » 2010-11-23 10:38 @484

Falta mucha información para poderte responder.

Puedes probar a usar el módulo Data::Dumper para ver el contenido de las variables.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Problema para recorrer un hash

Notapor Emstro » 2010-11-23 10:55 @496

Lo volqué y me dio esto (es un solo registro de una tabla nueva en una base de datos MySQL):

Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
$VAR1 = {
          'eabarca' => {
                         'CREATED_ON' => '2010-11-22 14:54:48',
                         'UPDATED_ON' => '2010-11-22 14:54:48',
                         'ADDRESS_NAME' => '',
                         'STATUS' => 'Active',
                         'ISI_ADDRESS_ID' => 'eabarca',
                         'CREATED_BY' => 'eabarca',
                         'EMAIL_ADDRESS' => 'test2',
                         'DESCRIPTION' => '',
                         'UPDATED_BY' => 'eabarca'
                       }
        };
 
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4


¿Es como un hash de hash?.

Realmente primera vez que trato de recorrer el resultado de una función .pm.

Saludos y gracias.
Emstro
Perlero nuevo
Perlero nuevo
 
Mensajes: 31
Registrado: 2010-11-08 16:12 @716

Re: Problema para recorrer un hash

Notapor explorer » 2010-11-23 11:06 @504

Sí, es un hash de hash. Y según veo en el código, está imprimiendo el valor de la clave 'STATUS', del hash referenciado por $row.

Si quieres sacar todas las direcciones, te vale con recorrer las claves del hash principal. Algo así (no probado):
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
for my $clave (keys %{$listallmail}) {
    print $listallmail->{$clave}->{EMAIL_ADDRESS}, "\n";
}
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Problema para recorrer un hash

Notapor Emstro » 2010-11-23 11:43 @530

EXCELENTE. Muchas gracias.

http://perlenespanol.com Es lo mejor.
Emstro
Perlero nuevo
Perlero nuevo
 
Mensajes: 31
Registrado: 2010-11-08 16:12 @716


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 39 invitados