in reply to Re^2: __DATA__ Inconsistency
in thread __DATA__ Inconsistency

do BLOCK while EXPR;

is uniquely special case of

EXPR while EXPR;

The do variant is a bottom tested loop. The loop body will always execute at least once, and will do so before executing the condition expression.