Il Perl adotta in pieno la convenzione sull'uso degli apici, già adottata da
numerosi altri tool in ambiente UNIX, tanto da rendere questa convenzione uno
standard per questo ambiente.
Una coppia di apici singoli ``''' (l'apostrofo) viene utilizzata per
delimitare una stringa che non dovrà essere oggetto di ulteriore interpretazione
da parte del Perl. Così, volendo assegnare alla variabile $nome il
valore ``Pippo'' potremo usare l'espressione ``$nome = 'Pippo'''.
I doppi apici ``"'' (le virgolette) sono invece utilizzate per
delimitare una stringa il cui valore dovrà essere ulteriormente sviluppato
dall'interprete Perl. In gergo tecnico si dice che l'interprete effettuerà
l'interpolazione del valore della stringa, ossia esploderà il valore di
eventuali variabili o stringhe di controllo contenute all'interno della stringa
stessa.
Consideriamo il seguente esempio:
# !/usr/local/bin/perl
# somma.pl: esempio di interpolazione
$a = 3;
$b = 4;
$c = $a+$b;
print 'con apici: $a+$b=$c\n';
print "\ncon virgolette: $a+$b=$c\n";
Eseguendo il programma I>somma.pl otterremo il seguente output:
$ somma.pl
con apici: $a+$b=$c\n
con virgolette: 3+4=7
$
Per rappresentare all'interno di una stringa delimitata da virgolette un
carattere che in Perl ha un significato speciale, è necessario farlo precedere
dal simbolo ``\'' (backslash) per evitare che l'interprete lo utilizzi
attribuendogli il significato che ha nella sintassi del linguaggio. Ad esempio
per visualizzare il simbolo ``$'' dovremo usare la sequenza ``$'', e lo stesso
faremo per rappresentare simboli particolari come ``"'', ``%'', ``@''
ed altri ancora; il carattere ``\'' segue la medesima regola: per rappresentare
il backslash sarà sufficiente ripeterne due di seguito (``\\'').
L'apice inverso ```'' (accento), presente sulle tastiere americane
in alto a sinistra (codice ASCII 96), ha un significato completamente diverso
rispetto agli apici ed alle virgolette. Serve infatti a racchiudere un comando
che verrà eseguito aprendo un processo figlio dell'interprete Perl (tipicamente
si tratta quindi di comandi della shell UNIX). L'output prodotto dal comando
eseguito mediante l'apice inverso viene restituito all'interprete Perl (processo
padre).
Ad esempio, sappiamo che il comando date della shell UNIX serve a
visualizzare la data e l'ora corrente; volendo assegnare questo valore ad una
variabile di un nostro script in Perl possiamo utilizzare la seguente
espressione:
$data_odierna = `date +%d/%m/%y`;
L'output del comando date viene catturato, senza che venga
visualizzato sullo standard output, e restituito come valore di ritorno della
chiamata del processo stesso.