Using perl Syntax Highlighting
print FILE_NEW
"<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n"; Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
mejor escrito
Using perl Syntax Highlighting
print FILE_NEW
qq{<?xml version
="1.0" encoding
="iso-8859-1"?>\n};Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
Using perl Syntax Highlighting
$lin =~ s/\n//g;Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
puede ser
Using perl Syntax Highlighting
chomp($lin);Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
si lees el archivo por lineas, el unico \n que puede estar esta al final de la cadena.
Using perl Syntax Highlighting
$lin =~ s/<\?xml version="1\.0" encoding="iso-8859-1"\?>//g;Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
mejor
Using perl Syntax Highlighting
$lin =~ s/^\s*\Q<?xml version="1.0" encoding="iso-8859-1"?>\E//;Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
La declaracion XML solo puede ocurrir una vez y tiene que estar al principio.
Using perl Syntax Highlighting
while ($lin =~ m/<([^<>]+)>(?{$var=$1;})/g) {Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
mejor
Using perl Syntax Highlighting
while (my $var = ($lin =~ m/<([^<>]+)>/g)) {Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
No sé que debe ser
Using perl Syntax Highlighting
$var =~ s/[^<\w->]//g;Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
puede ser
Using perl Syntax Highlighting
$var =~ s/[^<\w->]+//g;Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
espero que así es más rápido.
Using perl Syntax Highlighting
$lin =~ s/<$var><\/$varAnt>/\n<$var\/>\n/g;Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
mejor
Using perl Syntax Highlighting
$lin =~ s{<$var></$varAnt>}{\n<$var/>\n}g
;Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
Por favor cambia los "..." a qq{} y los s/// a s{}{} para no tener que escapar los " y / y hace los otros cambios y mostranos el escript otra ver, con un ejemplo de este XML que tienes que coregir y el resultado que quieres obtener.
Tambien deberías añadir
Using perl Syntax Highlighting
use strict
;
use warnings
; no warnings
'uninitialized';Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
al principio del escript y declarar todas las variables. Te va a ayudar a proteger contra los transbordos al menos en los nombres de los variables. Además los variables "my" son un poquito más rápidos que los globales.