Leer un fichero
Marcelo E. Magallón
marcelo.magallon en gmail.com
Mar Ago 9 11:28:11 PDT 2005
On 8/9/05, Carlos A. Pitty L. <cpitty at bancouniversal.com> wrote:
> Necesito leer de un archivo que contiene cierta cantidad de líneas una línea
> en específico y luego esa línea descomponerla en datos más pequeños. Ya he
> logrado hacer que el script me traiga la línea que deseo, la guardo en un
> arreglo pero no he logrado descomponerla. Lo malo es que para descomponerla
> los datos no están separados por ningún carácter, por ejemplo, los tres
> primeros números significan algo, los dos siguientes otro dato, los cuatro
> siguientes otro dato y así lo mismo en cada línea.
Si nos das un ejemplo de como se ve la línea es más simple ayudarte,
pero con la descripción que ofrecés, esto debería ser un comienzo:
#!/usr/bin/perl
use warnings;
use strict;
# para todas las líneas
while (<>)
{
# buscar las que contengan la hilera 60371702
next unless /60371702/;
# y con esas hacer lo siguiente
# 1. imprimirlas tal cual
print;
# 2. quitarles el caracter de "nueva línea"
chomp;
# 3. imprimir su longitud medida en caracteres
print "Longitud: ", length($_), "\n";
my @c = split //;
print "Primeros tres: ", join('', @c[0 .. 2]), "\n";
}
escribís eso en un archivo, lo hacés ejecutable, y lo llamás con el
nombre del archivo con los datos como argumento:
$ ./trabaja REN
--
Marcelo
Más información sobre la lista de distribución Costarica-pm