Perl/Variabili
Il Perl è un linguaggio estremamente flessibile.
Questo è il suo pregio ed il suo difetto.
Riesce ad ottenere questo perché riesce a "leggere" il contesto nel quale viene utilizzata una variabile e si adatta. Questo meccanismo funziona nel 99.99% dei casi, ma occorre capire in base a quali elementi viene fatta una interpretazione oppure un'altra. NOTA: il problema è che pretendiamo che il Perl capisca quello che noi pensiamo e nel contesto di come lo pensiamo. Questo pur essendo quasi sempre vero ha dei limiti!
A differenza di altri linguaggi che identificano in modo preciso il tipo di informazione contenuta in una variabile (es. numero, carattere etc), a Perl interessa "solo" sapere come "gestirla". Cioè si disinteressa di cosa è contenuto fino al momento dell'utilizzo. Infatti al momento dell'utilizzo il Perl "guarda" il contesto ed usa la variabile "al meglio". Il contesto può essere di due tipi : scalare o lista. Per contesto scalare si intende un contesto in cui ci sia un solo valore : se assegno ad "a" il valore 5 ho un valore, quindi uno scalare. Per contesto lista si intende un contesto in cui ci siano più valori : se assegno ad "a" i valori 1, 2, 3, 4, e 5 ho più valori, quindi una lista.
Per non dover ricordare tutti i nomi di variabili a che tipo di dato corrispondano le variabili in Perl si distinguono in tre tipologie:
- le scalari :un solo dato
- i vettori (array in inglese) : un treno composto di vagoni costituiti dagli scalari
- gli hash : sono come i vettori ma ogni vagone ha un nome "proprio"
Con queste 3 tipologie di variabili è possibile creare programmi per le più diverse applicazioni.
Affinché l'interprete Perl possa capire quale tipologia di variabile sta trattando, la sintassi prevede tre tipi di simboli diversi (sigilli):
- "$" per le scalari
- "@" per i vettori (lista)
- "%" per gli hash (lista)
I sigilli vanno posti prima del nome della variabile.
Dato che sintatticamente le tipologie sono differenziate è possibile avere con lo stesso nome 3 variabili diverse. Per esempio se chiamiamo una variabile "a" sarà possibile avere:
- $a scalare
- @a array
- %a hash
senza che ci sia alcun scambio né ambiguità fra le diverse variabili.
Riassunto
modifica- Perl è un linguaggio che tiene presente del contesto nel quale una variabile viene utilizzata per usarla "secondo le intenzioni" del programmatore
- Ha tre tipi di variabili: scalari, array, hash
- Ogni tipo è identificato da un simbolo preciso $ (scalare), @ (array), % (hash)