Next Previous Contents

7. Módulo CGI

7.1 Descripción

El módulo CGI sirve, como su nombre indica, para crear CGIs. En general, proporciona "atajos" para crear páginas HTML, especialmente útiles a la hora de hacer formularios.

7.2 Ejemplo: una mini-encuesta


#!/usr/bin/perl -w

use CGI;

$C = new CGI;

if (!$C->param()) {
        print   $C->header,
                $C->start_html('Título'),
                $C->h1('Prueba de CGI'),
                $C->p,
                "Esto es un párrafo de ejemplo\n",
                $C->start_form,
                $C->p,
                "<b>Encuesta:\n",
                $C->p,
                "<i>¿Quiénes son éstos de GPUL?\n",
                $C->radio_group(-name     =>    'encuesta',
                                -values   =>    ['Una secta', 'Un grupo terrorista',
                                                'Un grupo de música heavy'],
                                -default  =>    'Una secta'),
                $C->h3('Datos personales'),
                $C->p,
                "Sexo:\n",
                $C->checkbox_group(-name  =>    'sexo',
                                   -values =>   ['hombre', 'mujer']),
                $C->p,
                "Edad:\n",
                $C->popup_menu( -name   => 'edad',
                                -values => ['menos de 20', 'entre 20 y 25',
                                            'más de 25']),
                $C->submit,
                $C->end_form,
                $C->end_html;
}
else {
        print   $C->header,
                $C->start_html('Resultado'),
                $C->h1('Resultado de la encuesta'),
                "<div align=center>\n",
                "Crees que GPUL es " . $C->param('encuesta') . "\n",
                $C->p;

        if ($C->param('sexo') == 'mujer') {
                print "Eres una ";
        }
        else {
                print "Eres un ";
        }

        print   $C->param('sexo'),
                " de ",
                $C->param('edad'),
                " años.\n",
                "\n",
                $C->end_html;
}


Next Previous Contents