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 l'organigramme d'une instruction 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 toutes les autres valeurs sont vraies . Si true est utilisé avant ! ou non , false sera renvoyé.
Le langage Perl fournit les types de boucles suivants :
| Type de boucle | décrire |
|---|---|
boucle while | Exécute de manière répétée une instruction ou un groupe d'instructions lorsqu'une condition donnée est vraie. La condition est testée avant l'exécution du corps de la boucle. |
jusqu'à la boucle | Exécutez à 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. |
pour la boucle | Exécutez une séquence d'instructions plusieurs fois, simplifiant ainsi le code qui gère les variables de boucle. |
boucle foreach | La boucle foreach est utilisée pour parcourir les valeurs d'une variable de liste ou de collection. |
faire...en boucle | Semblable à une instruction while sauf qu'elle teste la condition à la fin du corps de la boucle. |
Boucles imbriquées | Vous pouvez utiliser une ou plusieurs boucles dans une boucle while, for ou do..while. |
Les instructions de contrôle de boucle modifient l'ordre d'exécution du code, grâce auquel vous pouvez réaliser des sauts de code.
Perl fournit les instructions de contrôle de boucle suivantes :
| déclaration de contrôle | décrire |
|---|---|
déclaration suivante | Arrêtez d'exécuter les instructions à partir de l'instruction suivante de l'instruction suivante jusqu'à l'identifiant de fin du corps de la boucle, passez à l'exécution du bloc d'instructions continue, puis revenez au début du corps de la boucle pour commencer l'exécution de la boucle suivante. |
dernière déclaration | Quittez le bloc d'instructions de boucle, mettant ainsi fin à la boucle |
continuer la déclaration | Le bloc d'instruction continue est généralement exécuté avant que l'instruction conditionnelle ne soit à nouveau évaluée. |
refaire l'instruction | L'instruction redo va directement à la première ligne du corps de la boucle et commence à exécuter cette boucle à plusieurs reprises. Les instructions après l'instruction redo ne seront plus exécutées et le bloc d'instruction continue ne sera plus exécuté ; |
aller à la déclaration | Perl a trois formes de goto : got LABLE, goto EXPR et goto &NAME. |
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.
Puisqu’aucune des trois expressions qui composent la boucle n’est obligatoire, vous pouvez laisser certaines expressions conditionnelles vides pour former une boucle infinie.
Vous pouvez appuyer sur les touches Ctrl + C pour terminer la boucle.
Lorsque l’expression conditionnelle n’est pas présente, 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.