Introducció
La programació web amb Perl és una àrea poderosa i flexible que permet crear aplicacions web dinàmiques i interactives. Perl és conegut per la seva capacitat de processament de text i la seva facilitat per manipular dades, la qual cosa el fa ideal per a la programació web. En aquest mòdul, aprendrem a utilitzar Perl per desenvolupar aplicacions web, des de la configuració inicial fins a la creació de scripts CGI i l'ús de frameworks web.
Continguts
Configuració de l'Entorn Web
Instal·lació del Servidor Web
Per desenvolupar aplicacions web amb Perl, necessitem un servidor web. Apache és una opció popular i fàcil de configurar.
Instal·lació d'Apache a Linux
Instal·lació d'Apache a macOS
Instal·lació d'Apache a Windows
Descarrega i instal·la XAMPP des de https://www.apachefriends.org/index.html.
Configuració d'Apache per Executar Scripts CGI
- Edita el fitxer de configuració d'Apache (
httpd.confoapache2.conf). - Afegeix o descomenta les següents línies:
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI
Require all granted
</Directory>- Reinicia Apache:
Introducció a CGI
CGI (Common Gateway Interface) és un estàndard per a interfícies externes de programes amb servidors d'informació, com els servidors HTTP. Permet que els scripts Perl generin contingut dinàmic.
Primer Script CGI
Crea un fitxer anomenat hello.cgi al directori /usr/lib/cgi-bin/ amb el següent contingut:
#!/usr/bin/perl print "Content-type: text/html\n\n"; print "<html><head><title>Hello World</title></head>"; print "<body><h1>Hello, World!</h1></body></html>";
Assegura't que el fitxer tingui permisos d'execució:
Accedeix al script des del navegador: http://localhost/cgi-bin/hello.cgi.
Creació de Scripts CGI
Estructura Bàsica d'un Script CGI
Un script CGI en Perl segueix una estructura bàsica:
- Capçalera HTTP
- Contingut HTML
Exemple:
#!/usr/bin/perl use strict; use warnings; print "Content-type: text/html\n\n"; print "<html><head><title>My CGI Script</title></head>"; print "<body><h1>Welcome to my CGI script!</h1></body></html>";
Gestió de Paràmetres
Per gestionar paràmetres passats a través de l'URL o formularis, utilitzem el mòdul CGI.
#!/usr/bin/perl
use strict;
use warnings;
use CGI;
my $query = CGI->new;
my $name = $query->param('name') || 'Guest';
print $query->header('text/html');
print "<html><head><title>CGI Parameters</title></head>";
print "<body><h1>Hello, $name!</h1></body></html>";Accedeix al script amb paràmetres: http://localhost/cgi-bin/your_script.cgi?name=John.
Gestió de Formularis Web
Creació d'un Formulari
<form action="/cgi-bin/form_handler.cgi" method="post">
Name: <input type="text" name="name"><br>
Age: <input type="text" name="age"><br>
<input type="submit" value="Submit">
</form>Processament del Formulari
#!/usr/bin/perl
use strict;
use warnings;
use CGI;
my $query = CGI->new;
my $name = $query->param('name');
my $age = $query->param('age');
print $query->header('text/html');
print "<html><head><title>Form Handler</title></head>";
print "<body><h1>Form Data</h1>";
print "<p>Name: $name</p>";
print "<p>Age: $age</p>";
print "</body></html>";Frameworks Web en Perl
Introducció a Dancer
Dancer és un framework web lleuger i fàcil d'utilitzar per a Perl.
Instal·lació de Dancer
Creació d'una Aplicació Dancer
Exemple de Rutes en Dancer
use Dancer2;
get '/' => sub {
template 'index' => { 'title' => 'Welcome' };
};
post '/submit' => sub {
my $name = body_parameters->get('name');
return "Hello, $name!";
};
start;Exercicis Pràctics
Exercici 1: Script CGI Bàsic
Crea un script CGI que mostri la data i hora actuals.
Solució
#!/usr/bin/perl
use strict;
use warnings;
use POSIX qw(strftime);
print "Content-type: text/html\n\n";
print "<html><head><title>Current Date and Time</title></head>";
print "<body><h1>Current Date and Time</h1>";
print "<p>", strftime("%Y-%m-%d %H:%M:%S", localtime), "</p>";
print "</body></html>";Exercici 2: Formulari i Processament
Crea un formulari que demani el nom i l'edat de l'usuari i mostri aquesta informació en una pàgina de resposta.
Solució
Formulari HTML:
<form action="/cgi-bin/form_handler.cgi" method="post">
Name: <input type="text" name="name"><br>
Age: <input type="text" name="age"><br>
<input type="submit" value="Submit">
</form>Script CGI:
#!/usr/bin/perl
use strict;
use warnings;
use CGI;
my $query = CGI->new;
my $name = $query->param('name');
my $age = $query->param('age');
print $query->header('text/html');
print "<html><head><title>Form Handler</title></head>";
print "<body><h1>Form Data</h1>";
print "<p>Name: $name</p>";
print "<p>Age: $age</p>";
print "</body></html>";Conclusió
En aquest mòdul, hem après a configurar un entorn web per a Perl, crear scripts CGI bàsics, gestionar formularis web i utilitzar frameworks com Dancer per desenvolupar aplicacions web més complexes. La programació web amb Perl és una habilitat valuosa que permet crear aplicacions dinàmiques i interactives. Practica els exercicis proporcionats per reforçar els conceptes apresos i prepara't per explorar més en profunditat les capacitats de Perl en la programació web.
Curs de Programació en Perl
Mòdul 1: Introducció al Perl
Mòdul 2: Programació Bàsica en Perl
Mòdul 3: Treballant amb Dades
Mòdul 4: Programació Intermèdia en Perl
Mòdul 5: Programació Avançada en Perl
- Expressions Regulars Avançades
- Interacció amb Bases de Dades amb DBI
- Programació Web amb Perl
- Multifil
