Ver Mensaje Individual
  #17 (permalink)  
Antiguo 19/05/2005, 08:51
Avatar de monoswim
monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 9 meses
Puntos: 90
El script quedaría así:

Código:
#!/usr/bin/perl

use strict;

#cargamos la información de entrada en la variable hash "inputs"
my %inputs = &input_data();

print "Content-type: text/html\n\n";

open (DATABASE, ">>../../httpdocs/scroll/external.html") || print "No se puede abrir el archivo";
     flock(DATABASE,2);
     print DATABASE "<p><b>$inputs{'autor'} dice</b> $inputs{'mensaje'}</p>\n";
close (DATABASE) || print "Error al cerrar el archivo";

#Imprimimos el mensaje de todo OK
print "Mensaje guardado correctamente";

# función que realiza la carga de información del formulario...
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;
                $value =~ s/\n//g;

                $input_data{$name} = $value;
        }
        return(%input_data);
}
exit(1);
En un rato te subo el index.html con el formulario...

Saludos
__________________
Esteban Quintana