Ver Mensaje Individual
  #5 (permalink)  
Antiguo 23/11/2004, 05:25
Avatar de monoswim
monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 3 meses
Puntos: 90
Bueno, empecemos....Empecemos iniciando el script y entrando los datos...
Código:
#!/usr/bin/perl

#Flujo del script
my %input_data = &input_data(); 



#Funciones del script
sub input_data {

        my (@pairs,$buffer,$pair,$name,$value,%input_data);

        if ($ENV{'REQUEST_METHOD'} eq 'GET') {

                @pairs = split(/&/, $ENV{'QUERY_STRING'});

        }elsif ($ENV{'REQUEST_METHOD'} eq 'POST') {

                read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
                @pairs = split(/&/, $buffer);

        }else {

                &error('leer','datos');

        }

        foreach $pair (@pairs) {
                ($name, $value) = split(/=/, $pair);

                $name =~ tr/+/ /;
                $name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
                $name =~ tr/\0//d;

                $value =~ tr/+/ /;
                $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
                $value =~ tr/\0//d;
                $value =~ s/\n//g;

                $input_data{$name} = $value;
        }
        return(%input_data);
}
Bien, ahora tenemos todos los datos de entrada en un %hash para usarlo de la manera $input_data{'nombre'} eso colocará el valor que tenga el campo de formulario llamado nombre. con lo cual tenemos tres variables importantes pasadas por parámetros
$input_data{'concordancias'} $input_data{'filtro'} $input_data{'texto'}

Ahora bien dentro del flujo del script tenemos que abrir el archivo que nos pasaron por parámetro en $input_data{'texto'}

Código:
#Flujo del script
my %input_data = &input_data(); 

open (DATABASE, "<$input_data{'texto'}");
@registros = <DATABASE>;
close (DATABASE);
Ahora tenemos todos las líneas del archivo de texto, cada una en un elemento distinto del array, o sea que la línea número uno es $regitros[0], la línea número 2 es $registros[1] y así...Esto lo usas para ver la ubicación de la palabra en el texto...con

$numero_elementos = @registros;

tomamos el número de elementos que tiene el array con lo cual puedes hacer un for que valla desde 0 hasta $numero_elementos y vas evaluando el array y ya tenés ahí el número de ubicación...

Bueno, espero que te sirva...
__________________
Esteban Quintana