Perl - Tipi di dati
Perl è un linguaggio vagamente tipizzato e non è necessario specificare un tipo per i dati durante l'utilizzo nel programma. L'interprete Perl sceglierà il tipo in base al contesto dei dati stessi.
Perl ha tre tipi di dati di base: scalari, array di scalari e hash di scalari, noti anche come array associativi. Ecco un piccolo dettaglio su questi tipi di dati.
Sr.No. | Tipi e descrizione |
---|---|
1 | Scalar Gli scalari sono variabili semplici. Sono preceduti da un segno di dollaro ($). Uno scalare è un numero, una stringa o un riferimento. Un riferimento è in realtà un indirizzo di una variabile, che vedremo nei prossimi capitoli. |
2 | Arrays Gli array sono elenchi ordinati di scalari a cui si accede con un indice numerico, che inizia con 0. Sono preceduti da un segno "a" (@). |
3 | Hashes Gli hash sono insiemi non ordinati di coppie chiave / valore a cui accedi utilizzando le chiavi come pedici. Sono preceduti da un segno di percentuale (%). |
Letterali numerici
Perl memorizza tutti i numeri internamente come interi con segno o come valori in virgola mobile a doppia precisione. I valori letterali numerici sono specificati in uno dei seguenti formati a virgola mobile o intero:
genere | Valore |
---|---|
Numero intero | 1234 |
Numero intero negativo | -100 |
Virgola mobile | 2000 |
Notazione scientifica | 16.12E14 |
Esadecimale | 0xffff |
Octal | 0577 |
Valori letterali stringa
Le stringhe sono sequenze di caratteri. Di solito sono valori alfanumerici delimitati da virgolette singole (') o doppie ("). Funzionano in modo molto simile alle virgolette di shell UNIX in cui è possibile utilizzare stringhe con virgolette singole e stringhe con virgolette doppie.
I valori letterali di stringa tra virgolette doppie consentono l'interpolazione variabile, mentre le stringhe con apici singoli non lo sono. Ci sono alcuni caratteri quando sono preceduti da una barra rovesciata, hanno un significato speciale e sono usati per rappresentare come una nuova riga (\ n) o una tabulazione (\ t).
Puoi incorporare le nuove righe o una qualsiasi delle seguenti sequenze di escape direttamente nelle stringhe tra virgolette doppie:
Sequenza di fuga | Senso |
---|---|
\\ | Barra rovesciata |
\ ' | Virgoletta singola |
\ " | Virgolette doppie |
\un | Allerta o campanello |
\ b | Backspace |
\ f | Avanzamento modulo |
\ n | Nuova linea |
\ r | Ritorno in carrozza |
\ t | Tabulazione orizzontale |
\ v | Tab verticale |
\ 0nn | Crea numeri in formato ottale |
\ xnn | Crea numeri in formato Hexideciamal |
\ cX | Controlla i caratteri, x può essere qualsiasi carattere |
\ u | Forza il carattere successivo in maiuscolo |
\ l | Forza il carattere successivo in minuscolo |
\ U | Forza tutti i seguenti caratteri in maiuscolo |
\ L | Forza tutti i caratteri seguenti in minuscolo |
\ Q | Barra rovesciata su tutti i caratteri non alfanumerici seguenti |
\ E | Fine \ U, \ L o \ Q |
Esempio
Vediamo ancora come si comportano le stringhe con virgolette singole e virgolette doppie. Qui useremo gli escape di stringa menzionati nella tabella sopra e utilizzeremo la variabile scalare per assegnare valori di stringa.
#!/usr/bin/perl
# This is case of interpolation.
$str = "Welcome to \ntutorialspoint.com!";
print "$str\n";
# This is case of non-interpolation.
$str = 'Welcome to \ntutorialspoint.com!';
print "$str\n";
# Only W will become upper case.
$str = "\uwelcome to tutorialspoint.com!";
print "$str\n";
# Whole line will become capital.
$str = "\UWelcome to tutorialspoint.com!";
print "$str\n";
# A portion of line will become capital.
$str = "Welcome to \Ututorialspoint\E.com!";
print "$str\n";
# Backsalash non alpha-numeric including spaces.
$str = "\QWelcome to tutorialspoint's family";
print "$str\n";
Questo produrrà il seguente risultato:
Welcome to
tutorialspoint.com!
Welcome to \ntutorialspoint.com!
Welcome to tutorialspoint.com!
WELCOME TO TUTORIALSPOINT.COM!
Welcome to TUTORIALSPOINT.com!
Welcome\ to\ tutorialspoint\'s\ family