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

#!/usr/bin/perl $value = 9.01e+21 + 0.01 - 9.01e+21; print ("La première valeur est :", $value, "\n"); $value = 9.01e+21 - 9.01e+21 + 0.01; print ("La deuxième valeur est :", $value, "\n");

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

#!/usr/bin/perl # Le retour à la ligne \n à l'intérieur des guillemets doubles est effectif $str = "Example\nwww.example.com"; print "$str\n"; # Le retour à la ligne \n à l'intérieur des guillemets simples est sans effet $str = 'Example \nwww.example.com'; print "$str\n"; # Seul R sera converti en majuscule $str = "\uexample"; print "$str\n"; # Toutes les lettres seront converties en majuscules $str = "\Uexample"; print "$str\n"; # Les parties spécifiées seront converties en majuscules $str = "Bienvenue sur \Uexample\E.com!"; print "$str\n"; # Ajoute une barre oblique inverse aux caractères non-mots jusqu'à \E $str = "\QWelcome to example's family"; print "$str\n";

La sortie de l'exemple ci-dessus est :

Autres extensions