Hola, explorer.
He quitado el 'reverse sort' y sigue funcionando bien.
Pero tengo un problema con el
script. Hasta ahora estaba analizando una columna de texto donde salía el nombre de usuario y lo cambiaba por su DNI. Pero ahora me piden que analice también la columna de
User-agent para buscar el SO, y es donde veo el problema.
Necesito que la búsqueda y reemplazo se haga en el orden en que defino el
hash:
Using perl Syntax Highlighting
my %agentes = ( # Definimos los agentes a identificar y cambiar
Android => 'Android',
Linux => 'Linux',
Windows => 'Windows',
MSIE => 'Windows',
);
Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
porque el campo que contiene Android, también contiene Linux, pero me lo ha de reemplazar por Android y no por Linux. No sé si me explico. Y me parece que al hacer
Using perl Syntax Highlighting
my $agentes = join "|", keys %agentes; # construimos una expresión regular
$agentes = qr/\b($agentes)\b/;
Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
no somos capaces de respetar ese orden, o bien si encuentra dos $agentes en la misma línea, sustituye el último, porque he detectado líneas que contienen "Android", y al reemplazar, lo cambia por "Linux". ¿Hay alguna forma de que al construir la expresión regular se respete ese orden?
Saludos,