Hola vtaborda, bienvenido al foro de Perl en Español.
Es importante que tengas en consideración lo siguiente, nosotros estamos dispuesto a ayudarte en tus problemas, pero al final de cuenta son tus problemas, así que es mal visto cuando alguien pide que se le haga un script o que se dé la solución de un problema sin que nosotros veamos antes un verdadero esfuerzo de tu parte.
Por esta razón Perl User te dió pistas o guías que puedes seguir para que empieces a explorar diferentes posibilidades a partir de las cuales nosotros te podríamos dar una ayudada, pero al final de cuentas, nosotros ayudamos NO estamos para servir.
Sé que no es tu intención esa, pero como planteaste el problema así lo parece.
Aquí te dejo un ejemplo de un script que abre un archivo y hace el conteo de todas las palabras que hay en él:
Using perl Syntax Highlighting
#!/usr/bin/perl
use strict
;
use warnings
;
# Archivo que quieres parsear
my $archivo = 'tu_archivo.txt';
my %Palabras;
open my $FILE, '<', $archivo or die("No pude abrir el archivo: $!");
while (my $linea = <$FILE>) {
chomp $linea;
$Palabras{lc $_}++ for split /\s+/, $linea;
}
close $FILE;
#Ahora vemos el resultado del conteo
for my $palabra ( sort { $Palabras{$b} <=> $Palabras{$a} } keys %Palabras) {
print $Palabras{ $palabra } . " - " . $palabra . "\n";
}Coloreado en 0.002 segundos, usando
GeSHi 1.0.8.4
Deja te explico un poco lo que hace para que puedas empezar a modificarlo para que haga lo que necesitas.
Abre un archivo y lo lee línea por línea. Cada línea la divide por palabras (esta división es muy relativa, pues realmente divido por espacios pre-suponiendo que cada palabra está separada por espacio) usando la
función split.
Usando el hash %Palabras se lleva el conteo de cada palabra que se va encontrando, no antes sin convertir todas las palabras en minúsculas
usando la función lc para que sea lo mismo la palabra "Agua" que "agua".
Ya al final se muestra el resultado de todas las palabras encontradas ordenándolas por las que tienen más apariciones en el archivo.
Creo que esto te dá suficiente para empezar a crear el script que necesitas, también te recomiendo que
cheques la sección de tutoriales donde podrás encontrar más información.
Saludos