في بعض الأحيان، قد نحتاج إلى تنفيذ نفس كتلة التعليمات البرمجية عدة مرات. عادةً، يتم تنفيذ العبارات بشكل تسلسلي: يتم تنفيذ العبارة الأولى في الدالة أولاً، تليها العبارة الثانية، وهكذا.
توفر لغات البرمجة مجموعة متنوعة من هياكل التحكم لمسارات التنفيذ الأكثر تعقيدًا.
تتيح لنا عبارات الحلقة تنفيذ عبارة أو مجموعة من العبارات عدة مرات، فيما يلي مخطط التدفق لبيان الحلقة في معظم لغات البرمجة:

لاحظ أن الرقم 0 والسلسلة '0' و"" والقائمة الفارغة () وundef خاطئة ، وجميع القيم الأخرى صحيحة . إذا تم استخدام true من قبل أم لا ، سيتم إرجاع false.
توفر لغة Perl أنواع الحلقات التالية:
| نوع الحلقة | يصف |
|---|---|
أثناء الحلقة | تنفيذ عبارة أو مجموعة من العبارات بشكل متكرر عندما يكون شرط معين صحيحًا. يتم اختبار الشرط قبل تنفيذ جسم الحلقة. |
حتى الحلقة | قم بتنفيذ عبارة أو مجموعة من العبارات بشكل متكرر حتى يتحقق شرط معين. يتم اختبار الشرط قبل تنفيذ جسم الحلقة. |
للحلقة | تنفيذ سلسلة من البيانات عدة مرات، مما يؤدي إلى تبسيط التعليمات البرمجية التي تدير متغيرات الحلقة. |
حلقة foreach | يتم استخدام حلقة foreach للتكرار على قيم متغير القائمة أو المجموعة. |
افعل...أثناء الحلقة | تشبه عبارة while باستثناء أنها تختبر الحالة في نهاية نص الحلقة. |
حلقات متداخلة | يمكنك استخدام حلقة واحدة أو أكثر داخل حلقة while أو for أو do..while حلقة. |
تعمل بيانات التحكم في الحلقة على تغيير ترتيب تنفيذ التعليمات البرمجية، والتي من خلالها يمكنك تحقيق قفزات التعليمات البرمجية.
يوفر Perl عبارات التحكم في الحلقة التالية:
| بيان السيطرة | يصف |
|---|---|
البيان القادم | توقف عن تنفيذ العبارات بدءًا من العبارة التالية للعبارة التالية إلى المعرف النهائي لجسم الحلقة، ثم انتقل إلى تنفيذ كتلة عبارة المتابعة، ثم عد إلى بداية جسم الحلقة لبدء تنفيذ الحلقة التالية. |
البيان الأخير | قم بالخروج من كتلة بيان الحلقة، وبالتالي إنهاء الحلقة |
مواصلة البيان | عادةً ما يتم تنفيذ كتلة عبارة المتابعة قبل تقييم العبارة الشرطية مرة أخرى. |
بيان الإعادة | تنتقل عبارة الإعادة مباشرة إلى السطر الأول من نص الحلقة وتبدأ في تنفيذ هذه الحلقة بشكل متكرر، ولن يتم تنفيذ العبارات بعد عبارة الإعادة، ولن يتم تنفيذ كتلة عبارة المتابعة بعد الآن؛ |
بيان اذهب | لدى Perl ثلاثة أشكال من goto: got LABLE، وgoto EXPR، وgoto &NAME. |
إذا لم يصبح الشرط خاطئًا أبدًا، فستصبح الحلقة حلقة لا نهائية.
يمكن استخدام حلقة for بالمعنى التقليدي لتنفيذ حلقات لا نهائية.
نظرًا لعدم الحاجة إلى أي من التعبيرات الثلاثة التي تشكل الحلقة، يمكنك ترك بعض التعبيرات الشرطية فارغة لتكوين حلقة لا نهائية.
يمكنك الضغط على مفاتيح Ctrl + C لإنهاء الحلقة.
عندما لا يكون التعبير الشرطي موجودا، يفترض أنه صحيح. يمكنك أيضًا تعيين قيمة أولية وتعبيرات زيادة، ولكن بشكل عام، يفضل مبرمجو Perl استخدام البنية for(;;) لتمثيل حلقة لا نهائية.