El segundo ejercicio que hemos hecho en Perl consiste en un programa que lee un fichero, cuenta el número de líneas que no están en blanco en dicho fichero, y escribe este valor en otro fichero cuyo nombre es igual al del fichero de entrada, pero con extensión .lc.
Solución:
El código de este programa es el siguiente:
my $leyendo = "prueba.txt"; #Nombre del fichero que se va a leer
#Abrir los ficheros. Uno en modo lectura ("<") y otro en modo escritura (">")
if ( ! -r $leyendo ) { #comprobar si el fichero se puede leer
die "El fichero $leyendo no es legible\n";
}
open my $fh, "<", $leyendo
or die "No puedo abrir el fichero $leyendo por $!\n";
open my $fh_out, ">", "$leyendo.lc";
#Crear e inicializar el contador de líneas
my $contador;
$contador = 0;
#Recorrer línea a línea el fichero
while (<$fh>) {
chop; chop; #quita los dos caracteres del final de la línea (el retorno de carro)
$contador++ if $_; #si queda algo en la línea (no está vacía), la cuento
}
#Imprimir el resultado de la cuenta en el fichero de salida
print $fh_out "El fichero tiene $contador líneas con texto\n"; #imprimir el número de líneas en #el fichero de salida
#Cerrar los ficheros
close $fh;
close $fh_out;
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario