Can we please get a while with a post-loop test?

Have you considered the following form?

while (true) : (if (!shouldDoStuff()) break) {
    doStuff();
}
11 Likes