• Publicidad

Leer Fichero - Separar campos de cada registro

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Leer Fichero - Separar campos de cada registro

Notapor fonsox » 2006-04-10 05:08 @255

Hola.

No encuentro, deben ser la torrijas :D , la forma de leer un fichero y separar por posición los campos de cada registro.

Ejemplo de registro:
Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
1234567890nombre        apellidos       dirección
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4


Quiero obtener:
Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
CAMPO1 : Los primeros 10 caracteres
CAMPO2 : De la posición 11 a la 24
CAMPO3 : De la posición 25 a la 42
CAMPO4 : De la posición 43 a la 60
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4


Un saludo,
alfonso.
fonsox
Perlero nuevo
Perlero nuevo
 
Mensajes: 5
Registrado: 2006-03-29 10:24 @475

Publicidad

Re: Leer Fichero - Separar campos de cada registro

Notapor explorer » 2006-04-10 05:45 @281

¿unpack?
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. $linea = '1234567890nombre        apellidos         dirección';
  2. ($campo1,$campo2,$campo3,$campo4) = unpack("a10 a14 a18 a18", $linea);
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4
Última edición por explorer el 2006-04-11 04:46 @240, editado 1 vez en total
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor preiddy » 2006-04-11 04:06 @212

Respuesta rápida:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. $linea = '1234567890nombre apellidos dirección';
  2. $linea =~ s/([0-9]+)/$1 $_/;
  3. @c = split(/ +/, $linea);
  4. print "Campo1:$c[0]\nCampo2:$c[1]\nCampo3:$c[2]\nCampo4:$c[3]\n";
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

Espero te sirva
preiddy
Perlero nuevo
Perlero nuevo
 
Mensajes: 70
Registrado: 2006-03-29 05:43 @280
Ubicación: Madrid, España


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 4 invitados