• Publicidad

Pseudo-hashes are deprecated

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

Pseudo-hashes are deprecated

Notapor tammyrey » 2009-05-12 09:39 @444

Tengo el siguiente array o hash o lo que sea... que luego siempre lo llamo como no es :P

Código: Seleccionar todo
STATUS: $VAR1 = bless( {
                  'alert' => '',
                  'transation_id' => undef,
                  'sip_fee_type' => '01',
                  'item' => bless( {                                   
                           'hold_queue' => [
                                       {
                                           'hold_type' => '2',
                                           'patron_id' => undef,
                                           'expiration_date' => '20081125    110158',
                                           'pickup_location' => 'LAXE1',
                                           'item_id' => '9'
                                        }
                           ],               
                  'patron' => bless( {                                 
                           'hold_items' => [
                                                         '2'
                           ],
                           'hold_queue' => [],
                           'items' => []
                  }, 'C4::SIP::ILS::Patron' ),


y quiero acceder al valor de hold_type. He puesto lo siguiente:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
warn "ESTE ES EL VALOR: ".$status->{'item'}->{'hold_queue'}->{'hold_type'};
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4


Y me sale el siguiente error:

Código: Seleccionar todo
Pseudo-hashes are deprecated at /var/www/kohaclone/C4/SIP/Sip/MsgType.pm line 1404.
Use of uninitialized value in concatenation (.) or string at /var/www/kohaclone/C4/SIP/Sip/MsgType.pm line 1404.
ESTE ES EL VALOR:  at /var/www/kohaclone/C4/SIP/Sip/MsgType.pm line 1404.


Y no sé qué hacer, ni veo el problema. ¿Alguna idea? Gracias

(Me imagino que estaré accediendo mal...)
tammyrey
Perlero nuevo
Perlero nuevo
 
Mensajes: 22
Registrado: 2009-04-15 09:30 @437

Publicidad

Notapor explorer » 2009-05-12 10:17 @470

El objeto que muestras es de tipo C4::SIP::ILS::Patron, así que deberías leer la documentación de este módulo, para acceder a sus entrañas.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor tammyrey » 2009-05-12 11:03 @502

Veo complicado el tema de la documentación... por lo que he visto en Internet "Pseudo-hashes are deprecated" se refiere a un error en el acceso a un hash de hashes... he visto ejemplos de cómo listar todo (por ejemplo: http://www.perlmonks.org/?node_id=116162) pero yo solo quiero acceder a uno de los campos, a hold_type...
tammyrey
Perlero nuevo
Perlero nuevo
 
Mensajes: 22
Registrado: 2009-04-15 09:30 @437

Notapor explorer » 2009-05-16 12:18 @554

EL software que usas es el Koha, un gestor de bibliotecas.

Me he bajado el software, la versión 3.00.01, y he abierto el fichero que marca error. Aparece un comentario, así que lo más seguro es que no coincida con la versión que tu tienes.

Deberías publicar aquí el trozo de código que da error. Unas líneas alrededor de él, para ver si lo encontramos.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor Jenda » 2009-05-18 09:10 @423

$status->{'item'}->{'hold_queue'} es un arrayref, not un hashref. Pero no deberías mirar dentro de un objeto.

No nos mostraste el código actual, no es completo y los paréntesis, acoladas y abrazaderas no son cerradas correctamente.
-------------------------------------------------------
- Estoy aquí para practicar español. Si te ayudó mi respuesta ayudame con un mensaje privado sobre mis faltas por favor. Seguramente habrá muchas :-)
Jenda
Perlero nuevo
Perlero nuevo
 
Mensajes: 132
Registrado: 2007-10-29 06:31 @313
Ubicación: Praga, Republica Checa


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: Google [Bot] y 0 invitados

cron