|
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 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.
Lezione
successiva =>
Torna
all'indice
|