• Publicidad

Reconocimiento de palabras....

Así que programas sin strict y las expresiones regulares son otro modo de hablar. Aquí encontrarás respuestas de nivel avanzado, no recomendable para los débiles de corazón.

Reconocimiento de palabras....

Notapor zest » 2005-11-05 15:35 @691

Necesito saber como puedo reconocer una serie de palabras separadas por punto y coma y que al final muestre cuantas veces esta cada palabra en el texto (archivo). La cantidad de palabras que ingreso no se sabe.


Gracias :D
zest
Perlero nuevo
Perlero nuevo
 
Mensajes: 2
Registrado: 2005-11-05 15:30 @687

Publicidad

Notapor explorer39 » 2005-11-05 15:49 @701

Suponemos que el archivo se llama fichero.txt.
Código: Seleccionar todo
open $fh, "<fichero.txt";
while ( $linea = <$fh> )
{
    # Primero separas las palabras y lo metes todo a un vector
    @palabras = split ";", $linea;

    # Luego, haces un bucle por todo el vector,
    # apuntando en una memoria cada palabra
    # que encuentres y le sumas uno
    foreach my $palabra ( @palabras )
    {
        # %palabras guardará como claves las palabras
        # encontradas, y sus valores serán las veces que
        # han aparecido en el archivo
        $palabras{$palabra} = $palabras{$palabra} + 1;
    }
}
close $fh;

# Finalmente, sacas el listado de las palabras encontradas,
# ordenadas alfabéticamente
# y el número de veces que aparece
foreach my $palabra ( sort keys %palabras )
{
    print $palabra, "\t", $palabras{$palabra}, "\n";
}
explorer39
 

Gracias

Notapor zest » 2005-11-05 16:27 @727

Muchas gracias, me sirvio a la perfeccion.
zest
Perlero nuevo
Perlero nuevo
 
Mensajes: 2
Registrado: 2005-11-05 15:30 @687


Volver a Avanzado

¿Quién está conectado?

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

cron