Fondamentalmente gli array sono anch'essi delle
variabili, ma di un
tipo particolare, infatti, con questo termine usiamo identificare una
variabile che
racchiude in sè (a cui sono stati assegnati) pił
valori.
Per dichiarare un array si
utilizza una sintassi molto simile a
quella che viene impiegata per le variabili, in questo caso, però,
dovremo
sostituire il dollaro con una chiocciola ("@") ed
elencare i valori da assegnare
all'array ponendoli tra parentesi
tonde e suddividendoli tramite una virgola.
Quindi, nel caso in
cui volessimo dichiarare una variabile array
chiamata, per esempio, "@array", dovremo utilizzare una
sintassi
simile alla seguente:
@array = ("valore_1", "valore_2", "valore_n");
Un array
chiamato "@famiglia" potrebbe per esempio essere
strutturato in questo modo:
@array = ("padre",
"madre", "figlio", "figlia");
Dato che un array non rappresenta un unico valore, ma è comunque
rappresentato da un unico nome, si pone il problema di estrarre i singoli
valori da esso. Per far questo Perl
assegna ai valori che compongono un
array un indice numerico che và da "0" a
"n", dove "0" rappresenta il numero indice del
primo valore ed
"n" quello dell'ennesimo valore
contenuto.
Per cui nel nostro array
"@famiglia" avremo che
"padre" è rapresentato dal numero indice "0", mentre
"figlia" è rappresentato dall'ultimo numero indice, cioè
"3".
Se
volessimo estrarre il valore "madre" dall'array
"@famiglia", dovremmo indicare tra parentesi quadre
il numero
indice corrispondente al valore prescelto (in questo caso "1" in
un indice numerico che
và da "0" a "3"). Quindi, in
pratica avremo:
$famiglia[1]
Che
è pari a "madre", da notare che in questo caso utilizzeremo
"$" e non
"@" in quanto
"$famiglia[1]" rappresenta un unico valore ed è quindi una
normale variabile non composita.
Una volta dichiarato un array, in un secondo tempo è possibile
allocare all'interno di esso ulteriori valori tramite l'istruzione
"push" (letteralmente
"spingi"). Quindi, se per
esempio volessimo accodare il valore "nonno" a quelli già
presenti nel nostro array "@famiglia" potremmo utilizzare
la seguente
istruzione:
push(@famiglia, "nonno");
In questo caso "nonno" assumerà un numero indice
pari a
"4" (quinto per un indice che và da "0" a
"4"). Se desiderassimo
aggiungere pił di un ulteriore valore
all'array dovremmo "annidare" le parentesi
tonde:
push(@famiglia, ("nonno", "nonna"));
Sarà inoltre possibile che un array presenti
un array (o pił
di uno) tra i suoi valori:
@array = ("padre", "madre", "figlio",
"@nonni");
Un array può essere assegnato ad una comune variabile, ma in questo
caso dovremo
porre particolare attenzione all'uso degli apici,
infatti:$var = @famiglia;
consite
nell'assegnazione alla variabile "$var" della lunghezza
dell'array denominato
"@famiglia", mentre:
$var = '@famiglia';
opera una sotituzione tramite una stringa del nome
di un array, la
stringa rappresenterà i valori separati da spazi.
I comuni array
consentono l'accesso al loro contenuto tramite
l'indice numerico, ma è inoltre possibile creare
array con
elementi accessibili tramite stringhe; in questo caso parliamo di array
associativi:
%dati = (
"giuseppe garibaldi", 50,
"john lennon", 99,
"linus torvald",
44
);
Per cui, per esempio:
$dati{"linus torvald"};
restituirà "44". |