• Publicidad

Búsqueda especial

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Notapor explorer » 2008-01-10 18:49 @825

Esta es una variación de mi primera solución, en la que se pinta el resultado en forma de tabla. Adaptarlo a una hoja sería sustituir los print por la instrucción de rellenar una celda en la $fila y $columna de ese momento.
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
#!/usr/bin/perl -w

{
    local $/ = '<s>';
    open TEXTO,'<:utf8','kk.txt';
    @secciones = <TEXTO>;
    close TEXTO;
}

my $fila = 0;
while ( $termino_a_buscar = <DATA> ) {

    chomp $termino_a_buscar;

    $fila++;
    if ( $fila == 1 ) {
        print ' 'x 10;
        foreach $seccion ( @secciones ) {
            next if $seccion !~ m{(\w+)</s>};
            printf "%12s", $1;
        }
        print "\n";
    }

    my $columna = 0;
    foreach $seccion ( @secciones ) {
        next if $seccion !~ m{(\w+)</s>};

        $numero_de_veces = () = $seccion =~ /$termino_a_buscar/misg;

        $columna++;
        if ( $columna == 1 ) {
            printf "%9s ",$termino_a_buscar;
            $columna++;
        }

        printf "%12s", $numero_de_veces;
    }
    print "\n";
}

__DATA__
ALONSO
FERRARI
Coloreado en 0.009 segundos, usando GeSHi 1.0.8.4

Sale:
Código: Seleccionar todo
          Introducción  Desarrollo  Conclusión
   ALONSO            2           1           1
  FERRARI            2           2           1
JF^D Perl Programming Language
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 12849
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Publicidad

Notapor rednet » 2008-02-21 17:12 @758

Estimado Explorer.

He probado el código que sale arriba y me arroja el siguen error
Código: Seleccionar todo
C:\Perl\bin>perl busquedanueva.pl
utf8 "\xDA" does not map to Unicode at busquedanueva.pl line 6, <TEXTO> chunk 1.

utf8 "\xF3" does not map to Unicode at busquedanueva.pl line 6, <TEXTO> chunk 2.

utf8 "\xED" does not map to Unicode at busquedanueva.pl line 6, <TEXTO> chunk 3.

utf8 "\xF3" does not map to Unicode at busquedanueva.pl line 6, <TEXTO> chunk 4.

Malformed UTF-8 character (unexpected non-continuation byte 0x42, immediately af
ter start byte 0xda) in pattern match (m//) at busquedanueva.pl line 19, <DATA>
line 1.
Malformed UTF-8 character (unexpected non-continuation byte 0x42, immediately af
ter start byte 0xda) in pattern match (m//) at busquedanueva.pl line 19, <DATA>
line 1.
Malformed UTF-8 character (unexpected non-continuation byte 0x4e, immediately af
ter start byte 0xd3) in pattern match (m//) at busquedanueva.pl line 19, <DATA>
line 1.
            Desarrollo
Malformed UTF-8 character (unexpected non-continuation byte 0x42, immediately af
ter start byte 0xda) in pattern match (m//) at busquedanueva.pl line 27, <DATA>
line 1.
Malformed UTF-8 character (unexpected non-continuation byte 0x4e, immediately af
ter start byte 0xd3) in pattern match (m//) at busquedanueva.pl line 27, <DATA>
line 1.
Malformed UTF-8 character (unexpected non-continuation byte 0x6e, immediately af
ter start byte 0xf3) in pattern match (m//) at busquedanueva.pl line 27, <DATA>
line 1.
rednet
Perlero Nuevo
Perlero Nuevo
 
Mensajes: 9
Registrado: 2007-11-15 09:15 @427

Notapor rednet » 2008-02-21 17:38 @776

He convertido el archivo KK.txt a formato UTF-8 y todo se ha solucionado.

Gracias Explorer.
rednet
Perlero Nuevo
Perlero Nuevo
 
Mensajes: 9
Registrado: 2007-11-15 09:15 @427

Anterior

Volver a Básico

¿Quién está conectado?

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