Boucle Perl


Parfois, nous pouvons avoir besoin d'exécuter le même bloc de code plusieurs fois. Normalement, les instructions sont exécutées séquentiellement : la première instruction de la fonction est exécutée en premier, suivie de la deuxième, et ainsi de suite.

Les langages de programmation fournissent une variété de structures de contrôle pour des chemins d'exécution plus complexes.

Les instructions de boucle nous permettent d'exécuter une instruction ou un groupe d'instructions plusieurs fois. Voici un organigramme des instructions de boucle dans la plupart des langages de programmation :

循环结构

Notez que le nombre 0, la chaîne '0', "", la liste vide () et undef sont faux et que les autres valeurs sont vrai. Si true est précédé de ! ou not, false sera renvoyé.

Le langage Perl fournit les types de boucles suivants :

Type de boucleDescription
循环类型描述

while 循环

当给定条件为 true 时,重复执行语句或语句组。循环主体执行之前会先测试条件。

until 循环

重复执行语句或语句组,直到给定的条件为 true。 循环主体执行之前会先测试条件。

for 循环

多次执行一个语句序列,简化管理循环变量的代码。

foreach 循环

foreach 循环用于迭代一个列表或集合变量的值。

do...while 循环

除了它是在循环主体结尾测试条件外,其他与 while 语句类似。

嵌套循环

您可以在 while、for 或 do..while 循环内使用一个或多个循环。
boucle while
Répéter lorsque la condition donnée est vraie Exécuter une instruction ou groupe d’énoncés. La condition est testée avant l'exécution du corps de la boucle.

jusqu'à la boucle

Exécute à plusieurs reprises une instruction ou un groupe d'instructions jusqu'à ce qu'une condition donnée soit vraie. La condition est testée avant l'exécution du corps de la boucle.

for loop

Exécutez une séquence d'instructions plusieurs fois pour simplifier le code de gestion des variables de boucle.

boucle foreach

La boucle foreach est utilisée pour itérer les valeurs d'une liste ou d'un ensemble de variables.
控制语句描述

next 语句

停止执行从next语句的下一语句开始到循环体结束标识符之间的语句,转去执行continue语句块,然后再返回到循环体的起始处开始执行下一次循环。

last 语句

退出循环语句块,从而结束循环

continue 语句

continue 语句块通常在条件语句再次判断前执行。

redo 语句

redo 语句直接转到循环体的第一行开始重复执行本次循环,redo语句之后的语句不再执行,continue语句块也不再执行;

goto 语句

Perl 有三种 goto 形式:got LABLE,goto EXPR,和 goto &NAME。
do...while boucle <🎜>
Similaire à l'instruction while sauf qu'elle teste la condition à la fin de la boucle corps.
<🎜>Boucles imbriquées<🎜>Vous pouvez utiliser une ou plusieurs boucles dans une boucle while, for ou do..while.
<🎜><🎜>Instruction de contrôle de boucle<🎜><🎜>L'instruction de contrôle de boucle modifie l'ordre d'exécution du code, à travers lequel vous pouvez réaliser des sauts de code. <🎜><🎜>Perl fournit les instructions de contrôle de boucle suivantes :<🎜>< ; td>Perl a trois formes goto : got LABLE, goto EXPR et goto &NAME.
Instruction de contrôle < /th>Description
<🎜>instruction suivante <🎜>Arrêter l'exécution à partir de l'instruction suivante de l'instruction suivante jusqu'à la boucle body Terminez l'instruction entre les identifiants, accédez au bloc d'instruction continue, puis revenez au début du corps de la boucle pour commencer l'exécution de la boucle suivante.
<🎜>dernière instruction <🎜>Quitte le bloc d'instructions de boucle, mettant ainsi fin à la boucle
<🎜>instruction continue<🎜>Le bloc d'instruction continue est généralement exécuté avant que l'instruction conditionnelle ne soit à nouveau évaluée.
<🎜>instruction redo <🎜> L'instruction redo va directement à la première ligne du corps de la boucle et commence à exécuter cette boucle à plusieurs reprises. Après l'instruction redo L'instruction ne sera plus exécutée et le bloc d'instruction continue ne sera plus exécuté
<🎜>instruction goto <🎜>

Boucle Infinie

Si la condition ne devient jamais fausse, la boucle deviendra une boucle infinie.

La boucle for peut être utilisée au sens traditionnel pour implémenter des boucles infinies.

Étant donné qu'aucune des trois expressions qui composent la boucle n'est obligatoire, vous pouvez laisser certaines expressions conditionnelles vides pour créer une boucle infinie.

#!/usr/bin/perl
 
for( ; ; )
{
   printf "循环会无限执行。\n";
}

Vous pouvez appuyer sur les touches Ctrl + C pour terminer la boucle.

Lorsque l'expression conditionnelle n'existe pas, elle est supposée vraie . Vous pouvez également définir une valeur initiale et des expressions d'incrémentation, mais en général, les programmeurs Perl préfèrent utiliser la construction for(;;) pour représenter une boucle infinie.