otorices escribiste:Using perl Syntax Highlighting@{ $xml->{"Evolucion"} } = ();
@{ $xml->{"Diagostico"}->{"Impresion"} } = ();
@{ $xml->{"Diagostico"}->{"Histeroscopia"} } = ();
@{ $xml->{"Diagostico"}->{"Clinico"} } = ();
@{ $xml->{"Diagostico"}->{"Diferencial"} } = ();
#Viendo que con lo anterior sólo me quedaba "Diagnostico" sin eliminar, ya que tiene subetiquetas, intenté poner:
@{ $xml->{"Diagostico"} } = ();
#Pero me daba error.Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4
El problema es que $xml->{"Diagnostico"} contiene una referencia al hash, pero tú lo tratas de usar como si contuviera una referencia al array. Si quieres que esa llave contenga una referencia al array vacío haz
Using perl Syntax Highlighting
si quieres que no contenga nada haz
Using perl Syntax Highlighting
y si quieres que la llave no exista en ese hash haz
Using perl Syntax Highlighting
Y no tienes que eliminar las cosas dentro del hash referido por $xml->{"Diagostico"}. Si ajustas $xml al undef(), todos los contenidos desaparecen y toda la memoria queda desocupada.
Es mejor ni recordar "reset()". No funciona con variables léxicas de todos modos.