|
di Michele Sciabarrà
"Gli animali simbolo del Perl: il cammello e il dromedario."
Il Perl è un linguaggio "di seconda generazione", nel senso che non
è stato inventato dal nulla ma è un riconoscibile derivato della
programmazione di sistema in ambiente Unix (l'equivalente della
programmazione batch in DOS). E' uno dei linguaggi più utili ed usati
da chi sviluppa applicazioni per Internet.
Il padre del Perl (che sta per Practical Extraction and Report
Language, ma ci sono altre interpretazioni) è Larry Wall, autore anche
di altre famose utility Unix come rn e patch. Il linguaggio e la sua
implementazione sono in gran parte opera sua, anche se è stato aiutato
da centinaia di altre persone. Larry definisce il suo lavoro così
(traduzione di un passo del manuale): "Il Perl è un linguaggio
interpretato ottimizzato per la scansione di file di testo arbitrari,
l'estrazione di informazioni da questi file di testo e la stampa di
report basati su queste informazioni. E' anche un buon linguaggio per
molti lavori di manutenzione di sistemi. Il linguaggio è pensato per
essere pratico (facile da usare, efficiente e completo) piuttosto che
bello (piccolo, elegante, minimale)."
Per capire meglio questo linguaggio occorre introdurre il background
culturale in cui è nato. Sin dai tempi dei mainframe, i programmi
venivano scritti in certi linguaggi, come C, Pascal, FORTRAN. Tuttavia
per risolvere i problemi reali, si sono sempre "assemblati" dei
programmi in "sistemi". Questo lavoro è sempre stato compito della
cosiddetta programmazione di sistema, affidata ai linguaggi specifici
dei vari sistemi operativi. Per esempio la IBM utilizza il REXX nei
suoi mainframe e in OS/2, il DOS ha il suo (limitato) linguaggio
batch, mentre sotto Unix si usano i cosiddetti script di shell: la
shell è l'interprete di comandi, e il suo linguaggio è il linguaggio
di sistema di Unix.
In ambiente Unix la programmazione di sistema ha sempre avuto molta
importanza. Bisogna tenere presente che la filosofia e il progetto di
Unix prevedono di suddividere la programmazione in due livelli: si
scrivono prima dei programmi molto generali e standardizzati,
generalmente in linguaggio C, che vengono utilizzati come mattoni.
Questi mattoni poi vengono messi insieme da script nel linguaggio
della shell per ottenere i programmi finali che risolvono i problemi
dell'utente. Molti dei comandi necessari per scrivere gli script di
shell fanno parte del sistema operativo. Questi comandi producono
informazioni in un formato testuale facilmente manipolabile: la shell
consente di collegarli in vari modi. Il risultato è che la shell
implementa una specie di linguaggio di programmazione e i comandi di
sistema Unix sono la sua libreria.
|