على عكس حلقات for و while ، فإنها تختبر حالة الحلقة في رأس الحلقة. في لغة Perl، تقوم حلقة do... while بالتحقق من حالتها في نهاية الحلقة.
حلقة do...while تشبه حلقة while، لكن حلقة do...while تضمن تنفيذ الحلقة مرة واحدة على الأقل.
تنسيق بناء الجملة كما يلي:
افعل {بيان (بيانات) ؛}بينما (الحالة) ؛
لاحظ أن التعبير الشرطي يظهر في نهاية الحلقة، لذا سيتم تنفيذ العبارة (العبارات) الموجودة في الحلقة مرة واحدة على الأقل قبل اختبار الشرط.
إذا كان الشرط صحيحًا، فسيعود تدفق التحكم إلى ما تم فعله أعلاه، ثم يعيد تنفيذ العبارة (العبارات) في الحلقة. تتكرر هذه العملية حتى يصبح الشرط المحدد خاطئًا.
بتنفيذ البرنامج أعلاه تكون نتيجة الإخراج هي:
قيمة a هي: 10 قيمة a هي: 11 قيمة a هي: 12a قيمة a هي: 13a قيمة a هي: 14