Foros del Web » Programación para mayores de 30 ;) » Programación General »

expresiones regulares con perl

Estas en el tema de expresiones regulares con perl en el foro de Programación General en Foros del Web. tengo varios txt que en su contenido tienen una estructura como la sgte: campo0:dato0 campo1: dato1 campo2:dato2 campo3: dato3 campo4:dato4 ---------------------------------------------------------------------------- campo5: dato5 campo6: dato6 ...
  #1 (permalink)  
Antiguo 12/09/2004, 20:29
 
Fecha de Ingreso: agosto-2004
Mensajes: 44
Antigüedad: 20 años, 3 meses
Puntos: 0
expresiones regulares con perl

tengo varios txt que en su contenido tienen una estructura como la sgte:

campo0:dato0
campo1: dato1 campo2:dato2
campo3: dato3 campo4:dato4
----------------------------------------------------------------------------
campo5: dato5
campo6: dato6

<-----------------aqui otro registro---------------------->
campo0:dato0
campo1: dato1 campo2:dato2
campo3: dato3 campo4:dato4
----------------------------------------------------------------------------
campo5: dato5
campo6: dato6

Donde campo(#): es el nombre fijo de una columna que no variara.
Lo q si variara es el valor de cada dato(#). Yo he venido programando esto con php, pero estoy revisando algo de espresiones regulares y segun veo es una labor mas facil y simple al usar perl en esto. Una pregunta, estoy en lo cierto, perl es la mejor eleccion para extraer la data de este tipo de archivos planos, como veran esta data es mi input q generara contenidos en una tabla relacional de mysql.
Alguna idea de como hacerlo?
__________________
SEGUIR CON LO BUENO, MEJORAR LO QUE SE DEBA Y CREAR LO QUE SE PUEDA.
  #2 (permalink)  
Antiguo 13/09/2004, 06:11
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 9 meses
Puntos: 90
Y la verdad que si, PERL es optimo para hacer reportes y administrar archivos planos, pero la verdad es que no te lo puedo comparar con PHP porque no se casi nada de ese lenguaje...

Con expresiones regulares puedes hacer casi de todo, acá tienes dos tutoriales que escribió kidd en donde enseña a usarlas, te pueden ser de gran ayuda !

http://perlenespanol.baboonsoftware....ut/000072.html
http://perlenespanol.baboonsoftware....ut/000074.html

yo abriría el archivo y guardaría todas las lineas en un array, para luego procesar una por una, pero sería mucho más fácil si no ubiera 2 campos en un línea, o que al menos estén separadas por algún caracter como |

campo1: dato1 | campo2:dato2

Código:
       open (DATABASE, "<db/links.txt") || &error('abrir','archivo');
       my @lineas = <DATABASE>;
       close (DATABASE) || &error('cerrar','archivo');

              foreach my $linea(@lineas) {
                     $linea =~ s/\n//g;
                     $linea =~ s/campo\://g;
               }
Bueno ,espero que te sirva
__________________
Esteban Quintana
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:03.