Dal momento che ogni script deve essere interpretato dal programma 'perl', e dato che gli script non sono altro che semplici file di testo, devono iniziare con i caratteri #! seguiti con il percorso completo del binario perl sul sistema, tipicamente:
#!/usr/bin/perl
oppure
#!/usr/local/bin/perl
(per localizzare dove risiede, nel vostro sistema, l'interprete perl, scrivete 'which perl' in un terminale anche se, solitamente, l'interprete viene installato in /usr/bin; ma non si può mai sapere con certezza).
Questo, una volta che il file è reso eseguibile (con chmod 755 nome_script.pl), fa in modo che quando lo script viene eseguito, il kernel legga la prima linea e vada a cercare l'interprete, che poi provvederà all'interpretazione del resto del codice.
Un metodo alternativo per lanciare uno script in perl, è quello di chiamare 'perl' con il nome dello script come argomento:
perl script.pl
Perl riconosce molte opzioni, le più utili sono:
- -h visualizza una pagina di help;
- -d esegue lo script sotto il debugger;
- -l aggiunge automaticamente il line-feed, aggiungendolo alla fine di ogni
comando 'print'; - -v visualizza la versione della versione del perl installato sulla vostra
macchina ed esce; - -w visualizza alcuni warnings sullo script; molto utile per scoprire gli
errori.
Tutte queste (e molte altre opzioni) sono documentate in "man perl" per il perl4, ed in "man perlrun" per il 5 (perl 5 divide l'immensa manpage del 4 in circa 25 sezioni)
In uno script perl, il cancelletto ( # ) introduce un commento, e tutto quello che viene dopo di esso in una riga viene ignorato.
print "Hello worldn"; # Questo è un commento e verrà ignorato; verrà
# eseguito solo il comando "print"
I comenti sono spesso utili per sè e per chi legge il vostro codice: per voi per il fatto che potete utilizzarli come degli "appunti" per, ad esempio, ricordarvi di fare qualcosa che avete dimenticato o lasciato indietro; per gli altri per la maggiore facilità di interpretare il vostro codice, ammesso che inseriate i vostri commenti al suo interno.