Utpl implements C-style while loops which run as long as the condition is fulfilled. Like with for-loops, an alternative syntax form suitable for template blocks is supported. -- Expect stdout -- A simple counting while-loop: Iteration 0 Iteration 1 Iteration 2 Iteration 3 Iteration 4 Iteration 5 Iteration 6 Iteration 7 Iteration 8 Iteration 9 If the loop body consists of only one statement, the curly braces may be omitted: Iteration 0 Iteration 1 Iteration 2 Iteration 3 Iteration 4 Iteration 5 Iteration 6 Iteration 7 Iteration 8 Iteration 9 A counting while-loop using the alternative syntax: Iteration 0 Iteration 1 Iteration 2 Iteration 3 Iteration 4 Iteration 5 Iteration 6 Iteration 7 Iteration 8 Iteration 9 -- End -- -- Testcase -- A simple counting while-loop: {% i = 0; while (i < 10) { print("Iteration "); print(i); print("\n"); i++; } %} If the loop body consists of only one statement, the curly braces may be omitted: {% i = 0; while (i < 10) print("Iteration ", i++, "\n"); %} A counting while-loop using the alternative syntax: {% while (x < 10): -%} Iteration {{ "" + x++ }} {% endwhile %} -- End --