Perl - Variables

Les variables sont les emplacements de mémoire réservés pour stocker les valeurs. Cela signifie que lorsque vous créez une variable, vous réservez de l'espace en mémoire.

En fonction du type de données d'une variable, l'interpréteur alloue de la mémoire et décide de ce qui peut être stocké dans la mémoire réservée. Par conséquent, en attribuant différents types de données aux variables, vous pouvez stocker des entiers, des décimales ou des chaînes dans ces variables.

Nous avons appris que Perl a les trois types de données de base suivants -

  • Scalars
  • Arrays
  • Hashes

En conséquence, nous allons utiliser trois types de variables en Perl. UNEscalarvariable précédera d'un signe dollar ($) et pourra stocker un nombre, une chaîne ou une référence. Unarrayvariable précédera du signe @ et stockera des listes ordonnées de scalaires. Enfin, leHash variable précédera du signe% et sera utilisée pour stocker des ensembles de paires clé / valeur.

Perl maintient chaque type de variable dans un espace de noms séparé. Vous pouvez donc, sans crainte de conflit, utiliser le même nom pour une variable scalaire, un tableau ou un hachage. Cela signifie que $ foo et @foo sont deux variables différentes.

Créer des variables

Les variables Perl n'ont pas besoin d'être explicitement déclarées pour réserver de l'espace mémoire. La déclaration se produit automatiquement lorsque vous affectez une valeur à une variable. Le signe égal (=) est utilisé pour attribuer des valeurs aux variables.

Notez qu'il est obligatoire de déclarer une variable avant de l'utiliser si nous utilisons use strict déclaration dans notre programme.

L'opérande à gauche de l'opérateur = est le nom de la variable et l'opérande à droite de l'opérateur = est la valeur stockée dans la variable. Par exemple -

$age = 25;             # An integer assignment
$name = "John Paul";   # A string 
$salary = 1445.50;     # A floating point

Ici, 25, «John Paul» et 1445,50 sont les valeurs affectées respectivement aux variables $ age , $ name et $ salaire . Nous verrons bientôt comment attribuer des valeurs aux tableaux et aux hachages.

Variables scalaires

Un scalaire est une seule unité de données. Ces données peuvent être un nombre entier, une virgule flottante, un caractère, une chaîne, un paragraphe ou une page Web entière. Dire simplement que cela pourrait être n'importe quoi, mais une seule chose.

Voici un exemple simple d'utilisation de variables scalaires -

#!/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";

Cela produira le résultat suivant -

Age = 25
Name = John Paul
Salary = 1445.5

Variables de tableau

Un tableau est une variable qui stocke une liste ordonnée de valeurs scalaires. Les variables de tableau sont précédées d'un signe «at» (@). Pour faire référence à un seul élément d'un tableau, vous utiliserez le signe dollar ($) avec le nom de la variable suivi de l'index de l'élément entre crochets.

Voici un exemple simple d'utilisation de variables de tableau -

#!/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";

Ici, nous avons utilisé le signe d'échappement (\) avant le signe $ juste pour l'imprimer. Les autres Perl le comprendront comme une variable et afficheront sa valeur. Une fois exécuté, cela produira le résultat suivant -

$ages[0] = 25
$ages[1] = 30
$ages[2] = 40
$names[0] = John Paul
$names[1] = Lisa
$names[2] = Kumar

Variables de hachage

Un hachage est un ensemble de key/valuepaires. Les variables de hachage sont précédées d'un signe de pourcentage (%). Pour faire référence à un seul élément d'un hachage, vous utiliserez le nom de la variable de hachage suivi de la "clé" associée à la valeur entre accolades.

Voici un exemple simple d'utilisation de variables de hachage -

#!/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";

Cela produira le résultat suivant -

$data{'John Paul'} = 45
$data{'Lisa'} = 30
$data{'Kumar'} = 40

Contexte variable

Perl traite la même variable différemment en fonction du contexte, c'est-à-dire de la situation où une variable est utilisée. Vérifions l'exemple suivant -

#!/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";

Cela produira le résultat suivant -

Given names are : John Paul Lisa Kumar
Number of names are : 3

Ici, @names est un tableau, qui a été utilisé dans deux contextes différents. Nous l'avons d'abord copié dans n'importe quel autre tableau, c'est-à-dire liste, donc il a renvoyé tous les éléments en supposant que le contexte est un contexte de liste. Ensuite, nous avons utilisé le même tableau et essayé de stocker ce tableau dans un scalaire, donc dans ce cas, il n'a renvoyé que le nombre d'éléments dans ce tableau en supposant que le contexte est un contexte scalaire. Le tableau suivant répertorie les différents contextes -

N ° Sr. Contexte et description
1

Scalar

L'affectation à une variable scalaire évalue le côté droit dans un contexte scalaire.

2

List

L'affectation à un tableau ou à un hachage évalue le côté droit dans un contexte de liste.

3

Boolean

Le contexte booléen est simplement n'importe quel endroit où une expression est évaluée pour voir si elle est vraie ou fausse.

4

Void

Ce contexte ne se soucie pas seulement de la valeur de retour, il ne veut même pas de valeur de retour.

5

Interpolative

Ce contexte ne se produit que dans des guillemets ou des choses qui fonctionnent comme des guillemets.