<font face="tahoma,sans-serif">Hola a todos de nuevo! :D<br><br>Han pasado un monton de dias desde que plantee esto y entre una cosa y otra lo tuve que dejar a un lado y volvi y les coloco finalmente lo que necesitaba, aun estoy agregando un par de cosas por requerimientos especificos (ahora tengo que subir esos zip a un servidor por ftp y tal). Aqui esta el codigo <a href="http://pastebin.com/4DhSFHqG">http://pastebin.com/4DhSFHqG</a> Se que no es la manera mas corta y elegante que hay pero por el momento necesito resolver esto y ademas no tengo mucha experiencia con programando en perl (y eso se nota en el codigo). La verdad es que habis escogido Python para esto pero al ver los distintos modulos que hay y compararlos con los de Perl me di cuenta de inmediato que los de Perl son muuucho mas flexibles y tienen exactamente lo que necesito. Python me gusta mucho de hecho tengo algo mas de tiempo programando en Python pero Perl creo que se ajusta mucho mas a esta tarea.<br>

<br>Por otro lado si alguno me puede hacer alguna sugerencia o incluso recomendarme alguna manera mas "Perlistica" de hacer alguna de las cosas que esta en el script estaria muy agradecido :D. Por ejemplo una mejora pudiese ser que en vez de usar variables globales usara locales y llamara a cada subrutina dentro de un loop en vez de hacer el loop dentro de la subrutina el detalle esta en que cuantas veces tendria que llamar a la subrutina creo que por eso podria sacrificar el uso de variables locales, supongo que seria un poco mas eficiente. Esto solo por comentar alguna cuestion que veo directamente.<br>

<br>Pasen muy buen dia y gracias a todos por sus comentarios me han servido de mucho :D<br></font><br><div class="gmail_quote">2011/4/28 Francisco Rivas <span dir="ltr"><<a href="mailto:franciscojrivash@gmail.com">franciscojrivash@gmail.com</a>></span><br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><font face="tahoma,sans-serif">Hola de nuevo, he hecho el script con XML::Twig y solo puedo decir que es muuuuyyy bueno!. Excelente!, Justo lo que necesitaba. Por otro lado me esta sucediendo algo que quiza se trata de algo que estoy haciendo mal, quisiera hacer las modificaciones al archivo y escribirlas en el mismo archivo una vez que termine, entonces he visto la funcion parsefile_inplace pero si parseo el archivo de esa manera al final el archivo queda en blanco, estoy haciendo algo mal? (seguro :P).<br>


<br>Este es el codigo que he escrito hasta el momento <a href="http://pastebin.com/mzN7AxQH" target="_blank">http://pastebin.com/mzN7AxQH</a> en este caso no estoy usando parsefile_input y se que hay cosas que se pueden hacer de manera distinta y quiza mas corta pero como estoy aprendiendo a usar el modulo lo he hecho asi.<br>


<br>Para resumir un poco la duda : si utilizo parsefile_inplace cuando termino el parseo el archivo queda en blanco.<br><br>Muchas gracias a todos de nuevo por los comentarios y por orientarme, muy buen dia :D<br></font><div>

<div></div><div class="h5"><br>
<div class="gmail_quote">2011/4/27 Francisco Rivas <span dir="ltr"><<a href="mailto:franciscojrivash@gmail.com" target="_blank">franciscojrivash@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


<font face="tahoma,sans-serif">Justo en esto estoy! :D<br></font><div><div></div><div><br><div class="gmail_quote">2011/4/27 Javier Camuñas <span dir="ltr"><<a href="mailto:kamunas@gmail.com" target="_blank">kamunas@gmail.com</a>></span><br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
- Si es grande el xml a parsear XML::Simple te dejará prácticamente sin RAM.<div>- Usaría ForceArray en caso de Simple</div><div>- Prueba XML::Twig</div><div><br></div><div>un saludo</div><div><br><div class="gmail_quote">



<div><div></div><div>

2011/4/27 Francisco Rivas <span dir="ltr"><<a href="mailto:franciscojrivash@gmail.com" target="_blank">franciscojrivash@gmail.com</a>></span><br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">



<div><div></div><div>

<font face="tahoma,sans-serif">Hola *,<br><br>Quiero hacer un script para modificar un XML y he encontrado varios modulos en el CPAN que lo hacen XML::LibXML y XML::Simple por ejemplo. El detalle es que la forma del XML que tengo es biiiienn extrana :P, puesto que tiene varios niveles. Entonces lo que quiero hacer con el XML es quitarle algunos elementos y modificar otros. Estoy utilizando por el momento XML::Simple, soy bastante novato en Perl y por eso recurro a la lista.<br>







<br>#!/usr/bin/perl<br><br>use strict;<br>use warnings;<br><br>use XML::Simple;<br>use Data::Dumper;<br>$Data::Dumper::Indent = 3;<br><br>my $fh = 'BookatableWid_asset.xml';<br>my $tree = XMLin($fh);<br>delete $tree->{protocolVersion};<br>







print Dumper($tree);<br><br>En esto que llevo hecho, que es una tonteria al final, solo elimino una de las 'keys' que me interesa.<br><br>El detalle esta en que luego hay hash de hashes de hashes dentro del XML. Miren <a href="http://pastebin.com/muT2zH9E" target="_blank">http://pastebin.com/muT2zH9E</a><br>







<br>Entonces necesito iterar en esa estructura para buscar las 'keys' que quiero modificar o eliminar incluso. <br><br>Algunas recomendacion?. usar otro modulo?, utilizar ForceArray o ForceContent, GroupTags o algo asi?<br>







<br>Gracias de antemano. Muy buena tarde. :D<br></font>
<br></div></div><div>_______________________________________________<br>
Madrid-pm mailing list<br>
<a href="mailto:Madrid-pm@pm.org" target="_blank">Madrid-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/madrid-pm" target="_blank">http://mail.pm.org/mailman/listinfo/madrid-pm</a><br></div></blockquote></div><br></div>
<br>_______________________________________________<br>
Madrid-pm mailing list<br>
<a href="mailto:Madrid-pm@pm.org" target="_blank">Madrid-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/madrid-pm" target="_blank">http://mail.pm.org/mailman/listinfo/madrid-pm</a><br></blockquote></div><br>
</div></div></blockquote></div><br>
</div></div></blockquote></div><br>