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)

  • ciao, potresti darmi un aiuto non riesco a far girare questo script se però commento use Mysql funziona cosa devo installare?
    grazie,

    #!/usr/bin/perl

    use CGI;
    use Mysql;
    use CGI qw(:cgi-lib);

    #***********************************
    # PROGRAMMA PRINCIPALE
    #***********************************

    print “Content-Type: text/html\n\n”;
    print “funziona! okok”;

  • @Claudio:
    che io sappia, non esiste un modulo Perl chiamato “Mysql”: devi usare invece il modulo “DBI” e il suo driver “dbd::mysql”. In altre parole, installa questi due moduli.
    Se non l’hai approfondito, studiati qualcosa sul DBI. E’ un sistema molto intelligente che ti permette di scrivere degli script INDIPENDENTI dal tipo di database utilizzato. Tu usi un linguaggio SQL standard, e poi cambi il driver a seconda che tu stia usando MS SQL, MySQL, Postgre, ODBC, e così via.

I commenti sono chiusi.


GiBiLogic srl Società a socio unico  |  via Aldo Moro 48, 25124 Brescia  |  P.IVA 02780970980
REG.IMPRESE N.02780970980 BRESCIA  |  CAP. SOC. € 10.000 I.V.
info@gibilogic.com  |  +39.030.7778980

iubenda Certified Gold
Partner