Programa en PERL que cuenta las palabras en minúscula que contiene un fichero de texto y muestra una lista con las 50 palabras que más aparecen:
#Programa PERL que cuenta las palabras en minúscula de un fichero y muestra las 50 más frecuentes
my $fichero_a_procesar = shift
|| die "Uso: $0 <nombre de fichero>n";
open my $fh, "<", $fichero_a_procesar || die "No puedo abrir el fichero. Error $!\n";
my %indice; #El % indica que tenemos una variable asociativa
while(<$fh>) {
@linea = split; #troceamos la línea por palabras, para que se analicen todas las palabras de la línea
for(@linea){
if (/(^[a-záéíóúñ]+)/ ) { #indicamos la expresión regular buscada: letra minúscula seguida de una o más letras
$indice{$1}++; #incrementamos el número de apariciones de la palabra en minúscula
}
}
}
#Ordenar las palabras en orden descendente del número de apariciones
@orden = sort {$indice{$b} <=> $indice{$a}} keys %indice;
#Mostrar sólo los 50 primeros
for(@orden[0..49]){
print "* $_ -> \t $indice{$_}\n";
}
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario