Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4
tengo un problema en una función recursiva, concretamente en el uso de un array. El error que me da el navegador, es el siguiente:
Using text Syntax Highlighting
Can't use an undefined value as an ARRAY reference at parseXML.cgi line 1817.
La función recorre una estructura $SubPart que puede tener a su vez $SubPart.
El array $posNiveles lo empleo para saber en qué nivel de profundidad estoy. Ejemplo: $posNiveles[3,4,1] significaría: "estoy en el elemento 3 del primer nivel, en el elemento 4 del segundo nivel y en el elemento 1 del tercer nivel".
Cada vez que encuentro que un elemento tiene hijos, entonces hago un push (@posicionesNiveles,1). Si un elemento tiene hermanos entonces hago un ++@posicionesNiveles[$posActual] antes de dibujar el hermano. Cuando acabo de gestionar los hijos de un elemento utilizo pop(@posicionesNiveles)
Using perl Syntax Highlighting
- sub mostrarSubPart
- {
- my ($self, $SubPart, $posNiveles) = @_;
- #print $posNiveles;
- #return;
- my @posNiveles = @$posNiveles;
- # muestro la informacion de esta $SubPart empleando print
- # he encontrado que $SubPart tiene SubPartes, entonces llamo a esta misma funcion
- # $SubPartNueva es el hijo del actual SubPart
- mostrarSubPart($self, $SubPartNueva, \@posNiveles);
- # una vez que termino toda la recursividad hago un return
- return;
- }
- # llamada a la función en el código principal
- mostrarSubPart($self, $SubPart, \@posicionesNiveles);
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4
Espero que puedan ayudarme.
Muchas gracias.