[bcn-pm] problemas con arreglos

Carlos Escribano ces at tablinum.org
Mon Apr 11 14:10:14 PDT 2005


El Sábado 09 Abril 2005 13:41, Alex Muntada escribió:

> Fixa't que construeixes malament el @atributo; hauries
> d'utilitzar els parèntesis enlloc dels corxets (indiquen
> la creació d'una referència a array anònim). És a dir:
>
>   my @atributo = ( ... );

Ah, sorry, no me he dado cuenta al escribir el ejemplo; en realidad lo ponía 
bien, entre paréntesis.


> Si no m'equivoco, el mètode LDAP::add() necessita que la llista
> d'atributs es passi amb una referència i potser aquest és el
> problema:
>
>   $ldap->add(..., attr => \@atributo, ...);

Tienes razón, se ha de leer bien la documentación antes de hacer nada. No 
usaba add, sino replace, pero funciona igual:

    'VALUE should be a string if only a single value is wanted in the 
attribute, or a reference to an array of strings if multiple values are 
wanted'

Los ejemplos que había utilizado en primer lugar eran escalares (incluso en 
multilinea) y en ese caso se han de utilizar directamente:

$mesg = $ldap->modify( $dn, replace => { 'mail' => $atributo } );

En cambio dice que cuando son arreglos se debe usar referencias, y esto es lo 
que se me paso por alto. 

Lo que me confundió fue que los primeros ejemplos que utilizé pasaba la matriz 
tal cual, y funcionaba. Pero cuando le pasé la matriz con subatributos no 
funcionó, y tampoco dio mensajes de error de tipos, que sí los da en otros 
casos, simplemente no hacía nada. La verdad es que cada vez se menos, y estos 
modulos son realmente magicos, no dejan de sorprenderme.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: signature
Url : http://mail.pm.org/pipermail/barcelona-pm/attachments/20050411/1bff8e98/attachment.bin


More information about the Barcelona-pm mailing list