Types de données Perl
Perl est un langage faiblement typé, donc les variables n'ont pas besoin de spécifier un type. L'interpréteur Perl sélectionne automatiquement le type correspondant en fonction du contexte.
Perl possède trois types de données de base : les scalaires, les tableaux et les hashes. Voici une description de ces trois types de données :
| Number | Type et Description |
|---|---|
| 1 | Scalaire
Un scalaire est le type de données le plus simple en Perl. Les variables de ce type de données peuvent être des nombres, des chaînes de caractères ou des nombres à virgule flottante, sans distinction stricte. Lors de son utilisation, ajoutez un$avant le nom de la variable pour indiquer qu'il s'agit d'un scalaire. Par exemple : $myfirst=123; #数字123 $mysecond="123"; #字符串123 |
| 2 | Tableau
Les variables de tableau utilisent le caractère@au début, avec des indices commençant à 0, par exemple :@arr=(1,2,3) @arr=(1,2,3) |
| 3 | Hash
Un hash est une collection non ordonnée de pairesclé/valeur. Vous pouvez utiliser les clés comme indices pour obtenir des valeurs. Les variables de hash utilisent le caractère%au début.
%h=('a'=>1,'b'=>2);
|
Littéraux numériques
1. Entier
Perl stocke en réalité les entiers dans les registres à virgule flottante de votre ordinateur, ils sont donc en fait traités comme des nombres à virgule flottante.
Sur la plupart des ordinateurs, les registres à virgule flottante peuvent stocker environ 16 chiffres ; tout ce qui est plus long que cela est ignoré. Les entiers sont en fait un cas particulier des nombres à virgule flottante.
Variables et opérations sur les entiers :
$x = 12345;
if (1217 + 116 == 1333) {
# 执行代码语句块
}
Nombres octaux et hexadécimaux : les nombres octaux commencent par 0, les nombres hexadécimaux commencent par 0x. Par exemple :
$var1 = 047; # 等于十进制的39 $var2 = 0x1f; # 等于十进制的31
2. Nombres à virgule flottante
Données à virgule flottante telles que : 11.4, -0.3, .3, 3., 54.1e+02, 5.41e03.
Les registres à virgule flottante ne peuvent généralement pas stocker précisément les nombres à virgule flottante, ce qui provoque des erreurs. Une attention particulière doit être portée lors des opérations et des comparaisons. La plage d'exposants est généralement de -309 à +308.
Exemple
Après l'exécution du programme ci-dessus, la sortie est :
第一个值为:0 第二个值为:0.01
3. Chaînes de caractères
Les chaînes de caractères en Perl sont représentées à l'aide d'un scalaire. La façon de les définir est très similaire à C, mais en Perl, les chaînes ne se terminent pas par \0.
La différence entre guillemets doubles et guillemets simples en Perl : les guillemets doubles peuvent correctement interpréter certains caractères d'échappement et variables, tandis que les guillemets simples ne peuvent pas les interpréter et les afficheront tels quels.
Cependant, l'utilisation de guillemets simples permet un texte multiligne, comme indiqué ci-dessous :
#!/usr/bin/perl $var='这是一个使用 多行字符串文本 的例子'; print($var);
Après l'exécution du programme ci-dessus, la sortie est :
This is an example of using multi-line string text
Certains caractères d'échappement courants en Perl sont présentés dans le tableau ci-dessous :
| Caractère d'échappement | Signification |
|---|---|
| \\ | Barre oblique inversée |
| \' | Guillemet simple |
| \" | Guillemet double |
| \a | Sonnerie système |
| \b | Retour arrière |
| \f | Saut de page |
| \n | Nouvelle ligne |
| \r | Retour chariot |
| \t | Tabulation horizontale |
| \v | Tabulation verticale |
| \0nn | Crée un nombre au format octal |
| \xnn | Crée un nombre au format hexadécimal |
| \cX | Caractère de contrôle ; x peut être n'importe quel caractère |
| \u | Force le caractère suivant en majuscule |
| \l | Force le caractère suivant en minuscule |
| \U | Force tous les caractères en majuscules |
| \L | Force tous les caractères en minuscules |
| \Q | Ajoute un antislash aux caractères non-word jusqu'à \E |
| \E | Met fin à \L, \U, \Q |
Exemple
Ensuite, examinons en détail l'utilisation des guillemets simples, des guillemets doubles et des caractères d'échappement :
Exemple
La sortie de l'exemple ci-dessus est :