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.
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.
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 perl4 ed il suo successore, il perl5. 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.