listar datos de un formulario

Salman Programas S. L. correo@salmansl.es
Sat, 19 Sep 1998 12:57:57 +0200


Se me esta planteando un pequeño problema:

Tras una toma de datos proveniente de un formulario, quiero listar los datos
obtenidos pero en el mismo orden en el que aparecen en el formulario, que
por logica es el mismo orden en que se reciben.

Es decir tras:

# Toma de datos
 read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});

 @pareja = split(/&/, $buffer);

 foreach $par (@pareja) {
    ($nombre, $valor) = split(/=/, $par);

    $valor =~ tr/+/ /;
    $valor =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
    $valor =~ s/<!--(.|\n)*-->//g;
    $valor =~ s/<([^>]|\n)*>//g;
    $valor =~ tr/<//;
    $valor =~ tr/>//;
    $in{$nombre} .= " " if (defined($in{$nombre}));
    $in{$nombre} .= $valor;
 }

si la siguiente orden es:

            foreach $nombre (keys %in) {
                    print "$nombre: $in{$nombre}\n";
            }

el resultado obtenido, no aparece en el mismo orden en que se recibio, y si
lo que pongo es:

            foreach $nombre (sort keys %in) {
                    print "$nombre: $in{$nombre}\n";
            }

Lo que obtengo es el listado clasificado por el nombre del campo.

Pero yo lo que quiero es listarlo en el mismo orden en el que se envio desde
el formulario.

Podeis ver un ejemplo en

https://https.colossus.net/servidorseguro/formulariocorreo.html

¿ Se os ocurre algo ?

Saludos
Salvador Guzman
Salman PSL
correo@salmansl.es
http://salman.net/
http://salmansl.es


--------- Pie de mensaje --------------------------------
Visite: http://tlali.iztacala.unam.mx/~randrade/perl.shtml
Cancelar inscripcion:
mail to: majordomo@tlali.iztacala.unam.mx
text   : cancelacion perl