Mostrar el contenido de una línea
Publicado: 2014-03-14 08:06 @379
Hola a todos.
Soy nuevo en Perl, y tengo una consulta. Espero puedan ayudarme.
Tengo las siguiente líneas (nunca son igual, algunas tienen más campos, otras menos):
Y lo que necesito es ver todo ese contenido luego del primer '=' en un campo.
O sea, debería quedar así:
Tengo hecho lo siguiente:
Pero si hago eso el resultado es el siguiente:
Y entiendo que es debido a que como hago split() por '=' se corta hasta el siguiente '='.
Se me ocurrió hacer lo siguiente:
Si bien funciona, hay un problema: que cuando la línea es más corta, por ejemplo solo esto:
El resultado sería:
O sea, se me completaría con muchos '=' debido a que los otros campos están vacíos.
¿Me podrían ayudar?
Cualquier cosa que no se entienda por favor consúltenme.
¡Gracias desde ya a todos!
Soy nuevo en Perl, y tengo una consulta. Espero puedan ayudarme.
Tengo las siguiente líneas (nunca son igual, algunas tienen más campos, otras menos):
Using text Syntax Highlighting
-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=Samsung,Televisor=LG,Computadora=HP,Ropa=Lacosta,Auto=Ford,Auriculares=Sony
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4
Y lo que necesito es ver todo ese contenido luego del primer '=' en un campo.
O sea, debería quedar así:
Using text Syntax Highlighting
@Datos=Completa,Telefono=Motorola,Televisor=Sony,Computadora=IBM,Ropa=Levis
@Datos=Completa,Telefono=Samsung,Televisor=LG,Computadora=HP,Ropa=Lacosta,Auto=Ford,Auriculares=Sony
@Datos=Completa,Telefono=Samsung,Televisor=LG,Computadora=HP,Ropa=Lacosta,Auto=Ford,Auriculares=Sony
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4
Tengo hecho lo siguiente:
Using perl Syntax Highlighting
- # array campos
- $num_elementos = split( $valor, campos, "=" )
- if ( match( campos [1], "-Encuesta" ) ) {
- @Datos = campos [2];
- }
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4
Pero si hago eso el resultado es el siguiente:
Using text Syntax Highlighting
@Datos=Completa,Telefono
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4
Y entiendo que es debido a que como hago split() por '=' se corta hasta el siguiente '='.
Se me ocurrió hacer lo siguiente:
Using perl Syntax Highlighting
- if ( match( campos [1], "-ObjectOfReference" ) ) {
- @Datos = campos [2] +"=" + campos [3] +"=" + campos [4] +"=" + campos [5] +"=" + campos [6] +"=" + campos [7];
- }
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
Si bien funciona, hay un problema: que cuando la línea es más corta, por ejemplo solo esto:
Using text Syntax Highlighting
@Encuesta=Completa,Telefono=Motorola
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4
El resultado sería:
Using text Syntax Highlighting
@Datos=Completa,Telefono=Motorola=====
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4
O sea, se me completaría con muchos '=' debido a que los otros campos están vacíos.
¿Me podrían ayudar?
Cualquier cosa que no se entienda por favor consúltenme.
¡Gracias desde ya a todos!