Usare Perl per gestire un modulo HTML

Uso dell’interprete Perl: come lavorare in pochi secondi sul contenuto di una form tramite il modulo CGI.pm

Nell’ambito dello sviluppo di applicazioni per il Web, spesso è necessario raccogliere dati inseriti in un modulo: utilizzando il Perl è possibile realizzare una semplice (ma utilissima) applicazione in pochissimi minuti.

Supponiamo di avere sul nostro sito un semplice modulo che richieda all’utente l’inserimento di Nome e Cognome:

<HTML>
<HEAD><TITLE>Esempio di Form</TITLE></HEAD>
<BODY><CENTER><B>Inserimento Dati</B>
<FORM ACTION="http://www.nomedominio.com/prova.pl" METHOD="GET">
Nome: <INPUT TYPE="text" name="Nome"> <BR>
Cognome: <INPUT TYPE="text" name="Cognome">
<INPUT TYPE="submit" value="Ok"> </FORM>
</BODY>
</HTML>

A questo punto, possiamo scrivere “prova.pl”, che fa proprio uso del modulo CGI.pm per la raccolta del “Nome” e del “Cognome” inseriti nel modulo:

#!/usr/bin/perl
#Piccolo programmino che legge il nome e cognome dell'utente e lo fa apparire di risposta.

use CGI; #Questa direttiva specifica l'uso del modulo CGI.pm

$q=new CGI; #Generiamo un oggetto di tipo CGI

$nome=$q->param('Nome'); #Salviamo il "Nome"
$cognome=$q->param('Cognome'); #Salviamo il "Cognome"

#Restituiamo una pagina HTML di risposta

print $q->header; #Stampiamo l'Header HTML
print $q->start_html('Risposta'); #Stampiamo l'intestazione

print << END;

<CENTER>
Il tuo nome è $nome $cognome
</CENTER>
END

print $q->end_html; #Stampa la fine della Risposta HTML

Caricando quindi la Form con un qualsiasi Browser ed inserendo nome e cognome negli appositi campi, verrà lanciato lo script “prova.pl” il quale provvederà a leggere i valori inseriti ed a restituire una pagina HTML di risposta, con il nome e cognome digitati in precedenza.

L’applicazione presentata è piuttosto semplice, ma anche da queste pochissime righe di codice è possibile intuire come sia possibile realizzare altri controlli sui campi di una Form (ad esempio per impedire che rimangano vuoti), oppure l’inserimentodegli stessi all’interno di un File o di una Tabella di un DBMS.

Nel seguito vedremo proprio come realizzare applicazioni di questo tipo.