Variables Perl

Les variables sont des données stockées en mémoire. La création d'une variable ouvre un espace en mémoire.

L'interpréteur décide de l'espace de stockage en mémoire en fonction du type de la variable, vous pouvez donc affecter différents types de données aux variables, tels que entier, virgule flottante, chaîne de caractères, etc.

Dans le chapitre précédent, nous avons présenté les trois types de données de base de Perl : les scalaires, les tableaux et les tables de hachage.

    Les scalaires commencent par $, par exemple, $a et $b sont deux scalaires.
  • Les tableaux commencent par @, par exemple, @a et @b sont deux tableaux.
  • Les tables de hachage commencent par %, par exemple, %a et %b sont deux tables de hachage.

Perl crée un espace de noms indépendant pour chaque type de variable, de sorte que des variables de types différents peuvent utiliser le même nom sans craindre les conflits. Par exemple, $foo et @foo sont deux variables différentes.


Création de variables

Les variables n'ont pas besoin de déclarer explicitement un type. Après qu'une valeur est affectée à une variable, l'interpréteur alloue automatiquement un espace de type correspondant.

Les valeurs sont affectées aux variables à l'aide du signe égal (=).

Nous pouvons utiliser ce qui suit dans un programme :use strictinstruction pour exiger que toutes les variables soient explicitement déclarées.

Le côté gauche du signe égal est la variable, et le côté droit est la valeur. Exemple :

$age = 25;             # 整型
$name = "example";      # 字符串
$salary = 1445.50;     # 浮点数

Dans le code ci-dessus, 25, "example" et 1445.50 sont assignés aux variables$age, $nameet$salary.

Ensuite, nous verrons l'utilisation des tableaux et des hachages.


Variables scalaires

Un scalaire est une unité de données unique. Les données peuvent être des entiers, des nombres à virgule flottante, des caractères, des chaînes de caractères, des paragraphes, etc. En bref, cela peut être n'importe quoi. Voici une application simple des scalaires :

Exemple

#!/usr/bin/perl $age = 25; # Entier $name = "example"; # Chaîne de caractères $salary = 1445.50; # Virgule flottante print "Âge = $age\n"; print "Nom = $name\n"; print "Salaire = $salary\n";

La sortie du programme ci-dessus est :

Age = 25
Name = example
Salary = 1445.5

Variables de tableau

Un tableau est une variable utilisée pour stocker une liste ordonnée de valeurs scalaires.

Les tableaux commencent par @.

Pour accéder aux variables de tableau, vous pouvez utiliser le signe dollar ($) suivi du nom de la variable, et spécifier un index pour y accéder. Exemple :

Exemple

#!/usr/bin/perl @ages = (25, 30, 40); @names = ("google", "example", "taobao"); 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";

La sortie du programme ci-dessus est :

$ages[0] = 25
$ages[1] = 30
$ages[2] = 40
$names[0] = google
$names[1] = example
$names[2] = taobao

Dans le programme, nous avons utilisé le caractère d'échappement (\) avant le signe $ afin de pouvoir afficher le caractère $.


Variables de hachage

Un hash est uneclé/valeurcollection de paires.

Les hashs commencent par %.

Pour accéder aux valeurs de hash, vous pouvez utiliser le$ + {key}format pour accéder :

Exemple

#!/usr/bin/perl %data = ('google', 45, 'example', 30, 'taobao', 40); print "\$data{'google'} = $data{'google'}\n"; print "\$data{'example'} = $data{'example'}\n"; print "\$data{'taobao'} = $data{'taobao'}\n";

La sortie du programme ci-dessus est :

$data{'google'} = 45
$data{'example'} = 30
$data{'taobao'} = 40

Contexte de variable

Le soi-disant contexte : fait référence à l'emplacement de l'expression.

Le contexte est déterminé par le type de la variable du côté gauche du signe égal. Si le côté gauche est un scalaire, il s'agit d'un contexte scalaire ; si le côté gauche est une liste, il s'agit d'un contexte de liste.

L'interpréteur Perl détermine le type de la variable en fonction du contexte. Exemples :

Exemple

#!/usr/bin/perl @names = ('google', 'example', 'taobao'); @copy = @names; # Copier le tableau $size = @names; # Affecter un tableau à un scalaire, renvoie le nombre d'éléments du tableau print "Les noms sont : @copy\n"; print "Le nombre de noms est :$size\n";

La sortie du programme ci-dessus est :

名字为 : google example taobao
名字数为 : 3

Dans le code, @names est un tableau, et il est utilisé dans deux contextes différents. Le premier le copie vers un autre tableau, donc il affiche tous les éléments du tableau. Dans le second, nous affectons le tableau à un scalaire, ce qui renvoie le nombre d'éléments du tableau.

La liste suivante présente une variété de contextes différents :

Non. Contexte et description
1 Scalaire −

Affectation à une variable scalaire, évaluée du côté droit dans un contexte scalaire.

2 Liste −

Affectation à un tableau ou à un hash, évaluée du côté droit dans un contexte de liste.

3 Booléen −

Le contexte booléen est une simple évaluation d'expression, vérifiant si elle est vraie ou fausse.

4 Vide −

Ce contexte ne se soucie pas de la valeur renvoyée, et généralement aucune valeur de retour n'est nécessaire.

5 Interpolation −

Ce contexte ne se produit qu'à l'intérieur des guillemets.

Autres extensions