Corso di Perl

Introduzione al Perl

 

Cos'è il Perl

Il motto del Perl è: "c'è più di un modo di farlo". Significa che il Perl è un linguaggio che lascia grande libertà al programmatore, mettendo a sua disposizione un vasto arsenale per aggredire il problema.

E' importante sottolineare la grande specializzazione di questo linguaggio: Perl è l'acronimo di Practical Extraction and Report Language (tradotto liberamente, "pratico linguaggio per estrarre dati e formulare rapporti"). Non riuscirete mai a scriverci un word processor, o un sintetizzatore vocale. Però, nella manipolazione di testi, stringhe, e tutto ciò che potete trovare in un file txt, non lo batte nessuno.

Parte della sua potenza deriva dall'essere un condensato di idee prese da altri linguaggi: Larry Wall, il suo ideatore, ha preso le istruzioni tipiche del C, ha aggiunto altri linguaggi del mondo Unix, ha mescolato il tutto e ha tirato fuori qualcosa che non è né carne né pesce, ma ha un ottimo sapore.

 

Chi ha già delle basi di programmazione, noterà sicuramente delle somiglianze tra il suo linguaggio preferito (qualunque esso sia!) e il Perl: le strutture di controllo (if/else, for, while) sono prese di peso dal C, con qualche piccola modifica. Le espressioni regolari (una delle caratteristiche più potenti del Perl, di cui parleremo diffusamente in seguito) derivano dai linguaggi sed e awk del mondo Unix. Altre cose derivano da una dozzina di linguaggi diversi.

Ultimamente il Perl è stato coinvolto nella "moda" della programmazione ad oggetti, ed il linguaggio ha subito una transizione simile a quella che ha visto il C evolvere nel C++. Nel Perl, tuttavia, questo cambiamento è molto più sfumato e meglio integrato nel linguaggio originale.

Interpretato o compilato?

Si dice comunemente che il Perl è un linguaggio interpretato. Questo significa che, per poter eseguire un qualunque programma scritto in Perl, occorre avere un altro programma chiamato "interprete Perl", che si occupa appunto di "interpretare" riga per riga quello che abbiamo scritto, e di far svolgere al computer le operazioni necessarie. In questo è simile al popolare linguaggio Basic, e differisce invece dal C, che invece è un linguaggio compilato (cioè interpretato una volta per tutte subito dopo essere stato scritto).

In realtà, la prima cosa che fa l'interprete Perl è... compilare il programma, in una forma intermedia che gli rende più facile l'interpretazione. Questo permette di individuare subito tutti gli eventuali errori di sintassi presenti nel programma, ed evita almeno in parte il principale svantaggio dei linguaggi interpretati, cioè la lentezza di esecuzione.

L'interprete Perl è un programma standard, che si trova in tutti i computer con installato Linux o un altro sistema operativo Unix. Nel caso, molto probabile, che abbiate Windows, dovrete procurarvi la versione per win32 dal sito della ActiveState (http://www.activestate.com), che è gratis. Nei circa 5 Megabytes che dovrete scaricare troverete l'interprete Perl e una quantità impressionante di documentazione (in Inglese).

Il suo legame con Internet

L'essere molto legato al sistema Unix ha garantito al Perl alcuni vantaggi "ereditari". Uno dei più importanti è che è diventato il linguaggio di elezione per rendere interattivi i siti web (tramite l'interfaccia CGI, di cui parleremo in una sezione apposita), dato che quasi tutti i server web, fino a poco tempo fa, erano appunto sistemi Unix. Inoltre, i tipici programmi che servono ad un sito web (contatori, statistiche, sondaggi, guestbook, carrelli della spesa eccetera) si sposano molto bene con l'orientamento testuale del Perl.

La lentezza rispetto al C non è un problema, perché tali programmi sono in genere piccoli e girano velocemente. In effetti, si parla in genere di "script" Perl, intendendo un piccolo programma di qualche decina di righe, destinato ad essere usato e riusato quando serve.

Inoltre, gli script Perl funzionano bene quasi ovunque, indipendentemente dal tipo di computer su cui sono stati scritti. Questo li rende molto utili in un ambiente, quello dei server web, dove la lotta tra diverse aziende ha portato ad avere una miriade di sistemi operativi in concorrenza (Windows NT, Linux, Solaris, solo per citare i più diffusi). Col giusto interprete Perl, usare un sistema operativo o l'altro non fa (quasi) differenza.

Bene, per adesso è tutto. Nella prossima puntata inizieremo a scrivere qualche piccolo programmino in Perl, perciò correte sul sito della ActiveState e scaricatevi il necessario.

 

Torna all'indice Generale del corso di Corso di Perl di Software Planet