Ver Mensaje Individual
  #3 (permalink)  
Antiguo 22/03/2005, 07:45
Avatar de monoswim
monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 23 años
Puntos: 90
Disculpa, pero me quedó dando vueltas tu problema y creo saber a que te refieres...la entrada de datos la haces ahí ?

Código:
sub input_data {

   my (@pairs,$buffer,%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 my $pair (@pairs) {
                my ($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;

                $input_data{$name} = $value;
        }
        return(%input_data);
}
Cuando haces eso el $value =~ tr/+/ /; te reemplaza todos los + por un espacio y los

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

te elimina todo el resto y te lo deja perfecto para usar como un texto común...

Espero que sea esto

Saludos
__________________
Esteban Quintana