[perl] Ejemplo de CGI.

Salvador Ortiz Garcia sog@msg.com.mx
Wed, 24 Mar 1999 21:32:48 -0600 (EST)



On Tue, 23 Mar 1999, before her mail server died, L.I. Maria Padilla
Tejeda wrote:

> >  
> > > tu usas la libreria cgi.pm?
> > 
> > Si.
> no podrias enviarme un ejemplo con esta libreria, creo que con esta no
> tendria problemas .. cierto?

Mira, no tengo a la mano ningún ejemplito, pero hasta el momento
_yo_ no he tenido problemas.

Pero sale un seudoejemplo:
-------------------------
use CGI qw(:all);
...
...

if(request_method() ne 'POST') { # Genero la forma
   # Con un sólo print!
   print header,
         start_html(-title=>'Mi título'),
	 start_multipart_form,
                textfield(-name=>'dato'),   # Un campo de texto
         	....                        # otros campos
                filefield(-name=>'upfile'), # Un campo FILE
                ....                        # Más campos
                submit(-value => 'Envía'),  # El botón de submit
         end_form,
         end_html;
} else {                        # Recibo los datos
   my $file = param('upfile');              # Recibo el FH del archivo
   my $dato = param('dato');                # y los otros datos
   ...
   # Nota: el nombre que el archivo tenía en su sistema nativo
   # es irrelevante. Si me interesa se lo tengo que pedir al usuario en
   # algún campo 'text'   
   open(UPFILE,'>/tmp/recibido.file');       # Donde guardo el archivo
   UPFILE->autoflush(1);                     # Asomate al man
   while(read($file,$buffer,1024)) {         # Copio el contenido
         print UPFILE $buffer;
   }
   print header,
         start_html(-title=>'Archivo recibido'),
         center(
             "Dato: $dato<p>",
             'Recibí un archivo de ',-s(UPFILE),' bytes'
         );
   close(UPFILE);
   ....
   print end_html;
}
----------------

Saludos

Salvador Ortiz


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