Skip to main content

Perl, il linguaggio elegante

In GiBiLogic ci è capitato di avere a che fare con diversi linguaggi di programmazione; ciascuno di noi ha le proprie preferenze, per quanto mi riguarda la scelta cade sul  Perl, un linguaggio di scripting molto utilizzato in ambito sistemistico.

Per cui ora ve lo presento e vi spiego perchè mi piace così tanto 🙂

Scripting

Un linguaggio di scripting è un linguaggio non compilato, che viene eseguito direttamente dal codice sorgente. Fanno parte di questa tipologia ad esempio il linguaggio batch di Windows, il linguaggio  bash di Linux, JavaScript, PHP, Ruby (da cui il famoso framework Ruby On Rails).

Nel caso specifico del Perl, la compilazione è a run-time; cioè, di fatto il programma che avete scritto viene trasformato in codice macchina nel momento in cui lo eseguite. Questo porta due vantaggi:

  • assicura delle buone prestazioni di esecuzione, anche se c’è ovviamente il tempo in più per la compilazione
  • eventuali errori di compilazione bloccano totalmente l’esecuzione, così il programma non può essere eseguito a metà

Storia e comunità

Il Perl è un linguaggio piuttosto datato, per il mondo informatico: la prima release risale infatti al 1987.  D’altro canto, questa lunga storia ne fa un componente piuttosto affidabile soprattutto grazie alla ampia comunità da cui è supportato.

L’autore del Perl è Larry Wall, anche se poi, essendo Open Source, c’è stato il contributo esterno di molti altri autori. Inoltre, il linguaggio è espandibile grazie all’ausilio di moduli che chiunque può realizzare, e il sito www.cpan.org è un ottimo punto di riferimento per le estensioni.

Da non perdere anche perldoc.org, il sito ufficiale della documentazione sul Perl.

Sicuramente il “periodo d’oro” del Perl è passato. Rimane tuttavia un linguaggio usatissimo e utilissimo soprattutto in ambito sistemistico.

Caratteristiche

A livello di sintassi, il Perl assomiglia abbastanza al PHP. Quest’ultimo, arrivato nel 1994, è stato creato proprio da un utente Perl, per adeguarsi meglio alla creazione e gestione di pagine web dinamiche. Non c’è dubbio infatti che il Perl, pur essendo stato usato molto per la creazione di pagine web con il famoso modulo CGI, perde qualcosa rispetto al PHP in praticità di utilizzo in questo ambito.

In compenso, la flessibilità di questo linguaggio è incomparabile. Ci sono diversi modi per fare le cose, anche la sintassi è poco rigida, per potersi adattare agli stili personali: come si dice spesso sulle mailing list, il Perl ti dà abbastanza corda per impiccarti da solo. 🙂

Esistono numerosi comandi, soprattutto per quanto riguarda la gestione di file di testo e/o di array di variabili, che consentono di fare in poche righe quello che altri linguaggi farebbero in decine e decine di righe. Infatti non è insolito vedere tra i programmatori Perl delle gare a chi riesce a realizzare la stessa funzionalità utilizzando meno caratteri. Una di queste gare, si chiamava curiosamente “The Perl Golf”, proprio per analogia con l’idea di fare meno “colpi” possibile per andare in buca.

Questo viene realizzato grazie a un uso molto logico dei parametri di ciascun comando, in modo che le combinazioni possibili diventino molte. Tra l’altro, anche i valori di default per i parametri e per i valori restituiti dai comandi sono stati studiati per essere i più intuitivi possibili. Di contro, il linguaggio può diventare oscuro da leggere per un non addetto.

Rispetto al linguaggio bash di Linux, anch’esso molto potente ed efficace in poche righe, il Perl guadagna soprattutto in espandibilità. Volendo, si può fare con il Perl qualunque cosa:

  • lo script quotidiano che fa il backup e/o manda delle e-mail
  • lo script “una tantum” per aggiornare i dati in un database secondo delle logiche particolari
  • il videogioco (mai provato Frozen Bubble? 🙂
  • l’applicativo gestionale
  • la pagina web

E’ chiaro che ci sono linguaggi più specificatamente pensati per certi utilizzi, e quindi che probabilmente si adattano meglio, ma è sempre comodo imparare uno strumento che all’occorrenza potremo usare ovunque.

Moduli

I moduli sono davvero tanti e completano la ricchezza del linguaggio. La maggior parte dei moduli presenta un buon livello di astrazione, ad esempio il DBI, ci consente di scrivere la nostra applicazione in formato SQL standard, senza preoccuparsi se il database sarà in formato MySQL, PostGre, file CSV, o vari altri tipi: basterà infatti una modifica alla configurazione del modulo per passare dall’uno all’altro.

Esistono moduli per qualunque esigenza, e all’occorrenza possiamo comunque scrivercelo noi.

Da leggere

Se per caso vi ho fatto voglia di imparare il Perl, consiglio i libri della casa editrice O’Reilly: ci sono diversi titoli, tutti di valore elevato, scritti da “guru” del linguaggio. Buon divertimento, con il Perl!

Commenti (3)

I commenti sono chiusi.