Perl - Variabili
Le variabili sono le posizioni di memoria riservate per memorizzare i valori. Ciò significa che quando crei una variabile riservi dello spazio in memoria.
In base al tipo di dati di una variabile, l'interprete alloca la memoria e decide cosa può essere memorizzato nella memoria riservata. Pertanto, assegnando diversi tipi di dati alle variabili, è possibile memorizzare numeri interi, decimali o stringhe in queste variabili.
Abbiamo appreso che Perl ha i seguenti tre tipi di dati di base:
- Scalars
- Arrays
- Hashes
Di conseguenza, useremo tre tipi di variabili in Perl. UNscalarla variabile precederà un segno di dollaro ($) e può memorizzare un numero, una stringa o un riferimento. Unarrayla variabile precederà il segno @ e memorizzerà elenchi ordinati di scalari. Infine, ilHash variabile precederà dal segno% e verrà utilizzata per memorizzare set di coppie chiave / valore.
Perl mantiene ogni tipo di variabile in uno spazio dei nomi separato. Quindi puoi, senza paura di conflitti, usare lo stesso nome per una variabile scalare, un array o un hash. Ciò significa che $ foo e @foo sono due variabili diverse.
Creazione di variabili
Le variabili Perl non devono essere dichiarate esplicitamente per riservare spazio di memoria. La dichiarazione avviene automaticamente quando si assegna un valore a una variabile. Il segno di uguale (=) viene utilizzato per assegnare valori alle variabili.
Tieni presente che questo è obbligatorio per dichiarare una variabile prima di usarla se la usiamo use strict dichiarazione nel nostro programma.
L'operando a sinistra dell'operatore = è il nome della variabile e l'operando a destra dell'operatore = è il valore memorizzato nella variabile. Ad esempio:
$age = 25; # An integer assignment
$name = "John Paul"; # A string
$salary = 1445.50; # A floating point
Qui 25, "John Paul" e 1445.50 sono i valori assegnati rispettivamente alle variabili $ age , $ name e $ salary . A breve vedremo come possiamo assegnare valori ad array e hash.
Variabili scalari
Uno scalare è una singola unità di dati. Tali dati potrebbero essere un numero intero, una virgola mobile, un carattere, una stringa, un paragrafo o un'intera pagina web. Semplicemente dicendo che potrebbe essere qualsiasi cosa, ma solo una cosa.
Ecco un semplice esempio di utilizzo delle variabili scalari:
#!/usr/bin/perl
$age = 25; # An integer assignment
$name = "John Paul"; # A string
$salary = 1445.50; # A floating point
print "Age = $age\n";
print "Name = $name\n";
print "Salary = $salary\n";
Questo produrrà il seguente risultato:
Age = 25
Name = John Paul
Salary = 1445.5
Variabili di matrice
Un array è una variabile che memorizza un elenco ordinato di valori scalari. Le variabili di matrice sono precedute da un segno "at" (@). Per fare riferimento a un singolo elemento di un array, utilizzerai il simbolo del dollaro ($) con il nome della variabile seguito dall'indice dell'elemento tra parentesi quadre.
Ecco un semplice esempio di utilizzo delle variabili array:
#!/usr/bin/perl
@ages = (25, 30, 40);
@names = ("John Paul", "Lisa", "Kumar");
print "\$ages[0] = $ages[0]\n";
print "\$ages[1] = $ages[1]\n";
print "\$ages[2] = $ages[2]\n";
print "\$names[0] = $names[0]\n";
print "\$names[1] = $names[1]\n";
print "\$names[2] = $names[2]\n";
Qui abbiamo usato il segno di escape (\) prima del segno $ solo per stamparlo. Un altro Perl lo interpreterà come una variabile e ne stamperà il valore. Quando viene eseguito, questo produrrà il seguente risultato:
$ages[0] = 25
$ages[1] = 30
$ages[2] = 40
$names[0] = John Paul
$names[1] = Lisa
$names[2] = Kumar
Variabili hash
Un hash è un insieme di file key/valuecoppie. Le variabili hash sono precedute da un segno di percentuale (%). Per fare riferimento a un singolo elemento di un hash, utilizzerai il nome della variabile hash seguito dalla "chiave" associata al valore tra parentesi graffe.
Ecco un semplice esempio di utilizzo delle variabili hash:
#!/usr/bin/perl
%data = ('John Paul', 45, 'Lisa', 30, 'Kumar', 40);
print "\$data{'John Paul'} = $data{'John Paul'}\n";
print "\$data{'Lisa'} = $data{'Lisa'}\n";
print "\$data{'Kumar'} = $data{'Kumar'}\n";
Questo produrrà il seguente risultato:
$data{'John Paul'} = 45
$data{'Lisa'} = 30
$data{'Kumar'} = 40
Contesto variabile
Perl tratta la stessa variabile in modo diverso in base al contesto, cioè alla situazione in cui viene utilizzata una variabile. Controlliamo il seguente esempio:
#!/usr/bin/perl
@names = ('John Paul', 'Lisa', 'Kumar');
@copy = @names;
$size = @names;
print "Given names are : @copy\n";
print "Number of names are : $size\n";
Questo produrrà il seguente risultato:
Given names are : John Paul Lisa Kumar
Number of names are : 3
Qui @names è un array, che è stato utilizzato in due diversi contesti. Per prima cosa l'abbiamo copiato in un altro array, cioè list, quindi ha restituito tutti gli elementi assumendo che il contesto sia il contesto della lista. Successivamente abbiamo usato lo stesso array e provato a memorizzare questo array in uno scalare, quindi in questo caso ha restituito solo il numero di elementi in questo array assumendo che il contesto sia un contesto scalare. La tabella seguente elenca i vari contesti:
Sr.No. | Contesto e descrizione |
---|---|
1 | Scalar L'assegnazione a una variabile scalare valuta il lato destro in un contesto scalare. |
2 | List L'assegnazione a un array o un hash valuta il lato destro in un contesto di elenco. |
3 | Boolean Il contesto booleano è semplicemente qualsiasi luogo in cui un'espressione viene valutata per vedere se è vera o falsa. |
4 | Void Questo contesto non solo non si preoccupa di quale sia il valore di ritorno, ma non vuole nemmeno un valore di ritorno. |
5 | Interpolative Questo contesto accade solo all'interno di virgolette o cose che funzionano come virgolette. |