Perl (abbreviazione di Practical Extraction and Report Language) è uno dei linguaggi di programmazione più popolari. È stato sviluppato da Larry Wall, che è stato addestrato come linguista, principalmente per l’elaborazione del testo, ma ora è anche usato per una gamma molto più ampia di applicazioni, in particolare l’amministrazione dei sistemi e lo sviluppo web.
Oltre alla sua eccezionale capacità di elaborazione del testo, le funzionalità di Perl includono anche facilità d’uso, potenza e portabilità (es., la capacità di essere usato praticamente su qualsiasi sistema operativo). Inoltre, è software libero; cioè, è libero sia in senso monetario che per quanto riguarda l’uso.
Perl viene solitamente installato di default nello stesso momento in cui il sistema operativo è installato su computer che eseguono Linux e altri sistemi operativi Unix-like. Un modo semplice per vedere se è stato effettivamente installato su qualsiasi macchina è quello di digitare il seguente comando e quindi premere il tasto INVIO:
perl -v
perl (che inizia con un minuscolo p) è il comando Perl. L’opzione-v fa sì che comunichi la versione installata.
Primo programma
Il solito punto di partenza per familiarizzare con Perl è scrivere ed eseguire uno script molto semplice come il seguente, che scrive la frase Ciao al mondo! sullo schermo di visualizzazione. Uno script è un programma semplice.
Tutto ciò che è necessario per creare questo script è creare un file di testo normale con un editor di testo, come gedit o vi, che contiene le seguenti due righe di codice e salvarlo con un nome che ha un’estensione .pl, come ad esempio perl1.pl:
#!/usr/local/bin/perl
print "Hello to the world!\n";
La prima riga non è generalmente necessaria sui sistemi operativi Unix-like per semplici script Perl, ma è utile familiarizzare con essa e prendere l’abitudine di usarla. Questa riga informa il sistema che il file è uno script Perl e indica la posizione dell’eseguibile Perl e dei file associati. Si riferisce a come la linea di shebang perché il segno di libbra seguito da un punto esclamativo è chiamato un shebang. Gli Shebang sono usati anche in altri linguaggi di scripting.
la stampa è una delle funzioni più comunemente utilizzate in Perl. Dice a Perl di visualizzare ciò che segue tra virgolette sul monitor del display o di scriverlo in un file. \ n rappresenta il carattere di nuova riga; dice a Perl di iniziare una nuova riga vuota sullo schermo seguendo il testo. Si noti che questa riga termina con un punto e virgola, come nel caso delle istruzioni (cioè delle singole istruzioni) nei programmi.
Un modo alternativo per creare questo file è con il comando cat (che viene utilizzato per leggere, creare e combinare file) digitando prima quanto segue
cat > perl1.pl
quindi premendo il tasto INVIO, quindi digitando print ” Ciao al mondo!\ n”; sulla nuova riga che appare, quindi premendo il tasto INVIO e, infine, premendo contemporaneamente i tasti CONTROL e C.
Su un sistema tipico questo file, per impostazione predefinita, non avrà le sue autorizzazioni impostate come eseguibile (cioè, pronto per essere eseguito come programma). Tuttavia, questo può essere facilmente modificato utilizzando il comando chmod (che viene utilizzato per modificare le autorizzazioni). Supponendo che il file sia chiamato perl1.pl e che è stato salvato nella directory corrente, questo si realizzerebbe con il seguente:
chmod 755 perl1.pl
Il programma è ora pronto per l’esecuzione. Può essere eseguito semplicemente emettendo il comando perl e usando il nome del nuovo file come argomento (cioè, dati di input) come segue:
perl perl1.pl
Se tutto va bene, il testo Ciao al mondo! dovrebbe apparire sullo schermo.
Risoluzione dei problemi
Se non viene visualizzato nulla sullo schermo o se è presente un messaggio di errore, il primo passo è confermare che Perl è stato effettivamente installato sul sistema, come mostrato sopra. Se lo è, una causa molto probabile del problema è che l’estensione. pl è stata omessa durante il salvataggio del programma o quando si tenta di eseguirlo con il comando perl. Un’altra possibilità è che ci sia qualche errore nell’ortografia del nome del file quando si utilizza quel comando.
Se nessuna di queste è la causa del problema, è probabile che il problema risieda nel contenuto del file. Pertanto, il passo successivo dovrebbe essere quello di aprire il file con un editor di testo per confermare che contiene effettivamente il testo che doveva essere scritto su di esso. Il testo potrebbe mancare, in particolare se il comando cat è stato usato in modo errato. Inoltre, dovrebbe essere confermato che il testo è scritto esattamente come mostrato nell’esempio sopra, in particolare che il punto e virgola è incluso alla fine della riga. Dimenticare di mettere il punto e virgola alla fine di un’istruzione è uno degli errori di programmazione più comuni.
Esperimenti
Sebbene lo script sopra discusso sia estremamente semplice, fornisce una buona base per conoscere meglio le funzionalità di Perl e creare programmi più utili. Prima di passare a programmi più avanzati, tuttavia, può essere istruttivo condurre diversi semplici esperimenti con questo programma.
Uno di questi è quello di apportare una modifica al testo e quindi rieseguire lo script. Un esempio è sostituirlo con qualcosa di simile a Questo è il mio primo script Perl. Le modifiche potrebbero anche includere l’omissione del carattere di nuova riga o l’utilizzo di due caratteri di nuova riga, con il programma risultante simile a print “Questo è il mio primo script Perl!\n \ n”;, o aggiungendo del testo dopo i caratteri di nuova riga. Queste modifiche possono essere apportate al file originale, o un nuovo file (con un nuovo nome) può essere creato.
Un altro esperimento consiste nel provare a omettere il punto e virgola alla fine dell’istruzione e osservare il messaggio di errore che apparirà. Un programma estremamente semplice come questo può funzionare, ma non è una buona pratica di programmazione e programmi più complessi genereranno un messaggio di errore.
Gli esperimenti possono essere condotti anche con le virgolette. Ad esempio, si può vedere che la rimozione di uno o entrambi i set di virgolette doppie comporterà un messaggio di errore come Impossibile trovare il terminatore di stringa ‘”‘ da nessuna parte prima di EOF at aaa2.pl linea 1.. Si può osservare che la sostituzione dei due set di virgolette doppie con due virgolette singole cambierà il modo in cui perl interpreta il programma: farà sì che \n venga interpretato come testo piuttosto che come un’istruzione per iniziare una nuova riga.