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.conf
oapache2.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