Vai al contenuto

Perl/Variabili

Wikibooks, manuali e libri di testo liberi.
Indice del libro


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:

  1. le scalari :un solo dato
  2. i vettori (array in inglese) : un treno composto di vagoni costituiti dagli scalari
  3. 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):

  1. "$" per le scalari
  2. "@" per i vettori (lista)
  3. "%" 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:

  1. $a scalare
  2. @a array
  3. %a hash

senza che ci sia alcun scambio né ambiguità fra le diverse variabili.

  • 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)