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