Ante todo ¡gracias por responder! Realmente muy agradecido.
Creo que no se entendió bien mi consulta.
Yo tengo un archivo .log con muchas líneas de este estilo:
-Encuesta=Completa,Telefono=Motorola,Televisor=Sony,Computadora=IBM,Ropa=Levis
-Encuesta=Completa,Telefono=Samsung,Televisor=LG,Computadora=HP,Ropa=Lacosta,Auto=Ford,Auriculares=Sony
-Encuesta=Completa,Telefono=Iphone,Televisor=Samsung,Computadora=Compaq
Pero no son siempre iguales, sino que pueden cambiar, a veces traen menos campos, a veces más. Pero lo que sí es igual que son del tipo -Item1=Valor,Item2=Valor2,Item3=Valor3 ....
Yo ahora tengo un
script que procesa ese log, y mapea lo que quiero en diferentes campos de una base de datos y entre otras cosas que hace, está la parte que procesa esas líneas de esta manera:
Using perl Syntax Highlighting
array campos
$num_elementos = split( $valor, campos, "=" )
if ( match( campos [1], "-Encuesta" ) ) {
@Datos = campos [2];
}
Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
@Datos es el nombre de uno de los campos de mi base de datos donde necesito que se vea lo que proceso.
Si, por ejemplo la línea es así de corta:
-Encuesta=Completa
Eso funciona perfecto ya que hay un solo valor luego del "=". O sea, yo tengo una base de datos con campos, y allí se mapea lo que está en la linea:
@Campodemibase=Completa
El problema es cuando la línea es más larga, que tiene más "=".
¿Me explico?
Perdón si estoy olvidando algo, ya que tampoco entiendo mucho cómo está armado el
script. Sé que me estaría faltando algo como decirle que me tome la línea entera.
Mil gracias nuevamente.