PROGRAMMAZIONE: PERL
Cos'è
il Perl e il suo utilizzo
Corso
sul PERL di HTML.IT
Introduzione
al Perl
Il
Perl è un linguaggio finalizzato principalmente alla
trattazione di stringhe e file di testo, soprattutto in
procedure CGI. Questa guida è consigliata a coloro che
utilizzano CGI per l'automazione di determinate procedure o
vogliono crearne di propri. Lo scopo di questo
documento è di spiegare le basi della programmazione in PERL.
Cercheremo di farlo per linee generali e di focalizzarci sulle
"idee" invece che sui dettagli, comparandoli quando
possibile ai linguaggi C e di shell scripting. Fine ultimo di
questo documento è di rendervi capaci di leggere, capire,
modificare gli script in perl, e, alla fine, di scrivere i
vostri. Non si assume che voi siate dei programmatori, ma non
vi sarà certamente spiegato cos'è un file o una pipe; una
minima conoscenza del mondo UNIX è necessaria per potervi
programmare. Infatti il linguaggio Perl si sposa perfettamente
con il sistema UNIX; anche se oggi ne sono stati effettuati
dei porting su numerose altre piattaforme (Windows 9x/NT,
OS/2, MS-DOS, ecc ...) l'ambiente più naturale per sviluppare
ed eseguire script in Perl rimane UNIX, dove è possibile
integrare e far interagire gli script con i numerosi strumenti
presenti nel sistema (sed, awk, grep, mail ecc. ) ed ottenere
il meglio dal linguaggio.
In questo documento c'è molto materiale, anche abbastanza
condensato; una buona idea può essere quella di leggerlo
dall'inizio alla fine senza memorizzare, all'inizio, nulla se
non le basi, giusto per farsi un'idea generale; il secondo
passo è quello di leggere più attentamente, cercando di
capire precisamente come funziona il perl. Non dimenticatevi,
durante la lettura, di provare gli esempi forniti a corredo
del testo per testarne il funzionamento ed, evantualmente,
provare a modificarli per scoprire le innumerevoli possibilità
offerte da questo linguaggio.
Ovviamente, questo tutorial non è completo, è solo una
selezione dei principali comandi; il perl ha molti più
comandi di quelli qui spiegati, e molti hanno molte più
opzioni o possibilità di quelle che presenteremo.
Probabilmente ci saranno anche delle disattenzioni sulla
semantica del linguaggio, perdonatecele! In ogni caso,
riferitevi sempre alla documentazione.
Cos'è
il Perl e il suo utilizzo
Prima
di tutto, un po' di filosofia. Il perl è spesso chiamato
"linguaggio di scripting", a differenza dei
linguaggi di programmazione, perchè fu originariamente
pensato non per grandi lavori, ma per l'automatizzazione di
determinati tasks. Con gli anni, il perl è diventato sempre
più potente ed è stato utilizzato per progetti sempre più
grandi, anche se non è nato per questo. stify">Il
Perl ("Processing Estraction Report Language" per
chi lo apprezza, "Pathologically Electric Rubbish Lister"
per chi lo ama, suggerisce l'autore!) è un linguaggio
finalizzato principalmente alla trattazione di stringhe e file
di testo. Ciò che in Perl è estremamente naturale fare è
effettuare ricerche di sequenze di caratteri all'interno di
stringhe (pattern matching), sostituzioni di sottostringhe
(pattern substitution), operazioni su file di testo
strutturati in campi e record oppure non strutturati. Per
questi motivi il Perl è utilizzato pesantemente nella
scrittura di procedure CGI installate su un server web, o per
lo sviluppo di procedure di manutenzione delle attività di un
server. Per gli stessi motivi il Perl non è invece indicato
per sviluppare procedure di puro calcolo scientifico o
comunque programmi che richiedano una elevata velocità e
precisione nell'effettuare calcoli o elaborazioni numeriche
complesse.
Certamente, quindi, il Perl diventa quasi una necessità per
chi debba gestire un sito web che non sia solamente testo ed
immagini: con questo linguaggio, infatti, è possibile
automatizzare alcune utili operazioni, dalle più semplici
(richiesta di un indirizzo e-mail) alle più complesse (come
registrazione di dati di utenti ecc.). A quanti non è mai
capitato di imbattersi in un sito nel quale veniva richiesto
di inserire il nostro indirizzo e-mail per l'iscrizione ad una
mailing-list, oppure di vedere in alcune pagine qualcosa tipo
"Visitatore numero nnnnnnn", o ancora di riempire
moduli di adesione o registrazione? Credo nessuno!
Ebbene, sotto a tutto questo ci sono linee e linee di Perl
(nella maggior parte dei casi!) che elaborano ciò che
l'utente ha digitato e restituendolo al webmaster in formato
intellegibile o meglio (soprattutto per registrazioni e
adesioni, in cui ci sono parecchi campi da riempire: nome,
cognome e via dicendo) formattato in diversi campi ( a mò di
database) oppure, nel migliore dei casi, facendo tutto da
solo: prendiamo ad esempio un utente che voglia avere uno
spazio web gratuito e che debba registrarsi: si troverà
davanti a parecchie domande alle quali rispondere, ed alla
fine dovrà premere il bottone "invia" e passare le
grane al webmaster, che dovrà successivamente confermare
l'adesione. Chi abbia fatto ciò almeno una volta, si sarà
sicuramente reso conto che la conferma di avvenuta adesione
arriva prestissimo (si parla di qualche minuto al massimo!!):
ebbene, qui non è il webmaster che lavora alla velocità
della luce, ma un complesso script che riceve le informazioni
e le scelte dell'utente, assegnandogli un username ed una
password, approntando una directory sul server pronta a
ricevere i file dell'utente che tra l'altro sarà protetta
contro altri utenti che volessero modificarla ecc.; infine, si
preoccupa di mandare una mail (che di solito è un modello nel
quale vengono inseriti i dati dell'utente) all'utente per
avvertirlo che l'operazione è stata svolta con successo! E
non dimentichiamoci che lo stesso script controla che le
scelte dell'utente siano sensate: ad esempio, controllando che
l'indirizzo e-mail sia valido (nel senso che sia nella forma
utente@dominio e non utente_dominio, ad esempio). Insomma, il
Perl è sicuramente una miniera d'oro per il webmaster che
abbia determinate esigenze, ed impararne le basi è utile per
poter iniziare a scrivere i propri script di automatizzazione
(ma non solo, si possono scrivere anche veri e propri
programmi) e successivamente implementarli sul proprio server,
locale o non che sia. stify">L'interprete perl non
compila mai il codice in codice-macchina, come fanno i
compilatori C: ogni volta che si esegue uno script in perl,
questo viene interpretato "al volo". Ci sono 2
versioni di perl: il PERL 4 ed il suo successore, il PERL 5.
Questo è in linea di massima compatibile con il perl4, ed ha
inoltre features addizionali. In questo documento si farà
riferimento soprattutto al perl5, visto che ormai dovrebbe
essere la release più utilizzata.
Dopo
questa introduzione dovresti esserti fatto un'idea di cosa è
e di come opera il PERL, quindi sei pronto/a ad affrontare il
corso su PERL su www.html.it
. Il corso è strutturato in 15 lezioni con punti di
approfondimento, a mio avviso, è abbastanza complesso e
quindi indirizzato agli utenti più esperti. Le lezioni sono
le seguenti, clicca sull'argomento al quale sei interessato
anche se ti consiglio (se sei alle prime armi) di seguire il
corso punto per punto data la correlazione tra una lezione e
l'altra. Buona fortuna.
Corso
sul PERL di HTML.IT
1. Invocazione
del Perl
Metodi per lanciare uno script in Perl
2. Variabili
e struttura dei dati
Negli script in perl, i dati temporanei sono tenuti in
variabili; queste si comportano a grandi linee come le
variabili d'ambiente, ma non sono la stessa cosa.
3. Variabili
speciali
Il perl mette a disposizione un insieme piuttosto ricco di
variabili speciali, ossia variabili gestite direttamente
dall'interprete che contengono parametri assai utili.
4. Alcune
funzioni
Tutte le funzioni in ordine alfabetico del Perl
5. Subroutines
E' possibile definire le nostre funzioni in perl, e poi
richiamarle come si richiamano le normali funzioni del perl.
6. Operatori
Panoramica sugli operatori presenti nel Perl
7. Blocchi
Esempi e liste di blocchi.
8. Test
sui file
Introduzione al concetto di "verifica" sui file
9. Espressioni
regolari
Le espressioni regolari sono una sorta di linguaggio interno
al perl, ma non solo ...
10. Variabili
locali
In ogni momento si possono dichiarare le variabili locali, così
una sub può lavorare su queste variabili senza interferire su
altre usate da altre sub.
11. Stile
E' importante scrivere il codice in maniera che questo mostri
la sua struttura...
12. Qualche
utile consiglio ..
Consigli sulla scrittura di uno script in Perl
13. Dove
trovare informazioni
Website, newsgroup e libri cartacei sul Perl.
14. Utilizzare
i moduli
Un modulo è un insieme di operazioni che possono essere
utilizzate all'interno di qualsiasi script in Perl.
15. L'accoppiata
Perl - database
Utilizzare congiuntamente le conoscenze di Perl e dei database
per i progetti personali o per doveri lavorativi: interagire
con i database, pratica peraltro molto utilizzata sul web a
vari livelli, dal commercio elettronico ai motori di ricerca.