do Iteration command
Usage
do <command> while (<condition>)
Description

Executes <command> once then evaluates the <condition>. If <condition> evaluates to true (non zero result) then repeats the execution again.
<command> may be either a single command or a block of commands.
It can contain the break command: in that case the execution of the <command> will be immediately interrupted and the control transferred to the command following this while block.
It is valid for <command> to be an empty command terminated with a ';'. <condition> is an expression as the ones evaluated by $(*) with the following extensions:
If <condition> is a string, its length is evaluated: in this way a non-empty string causes the <condition> to be true, an empty string causes it to be false.
If <condition> is an array, its size is evaluated: in this way a non-empty array causes the <condition> to be true, an empty array causes it to be false.
If <condition> is a hash, the number of its entries is evaluated: in this way a non-empty hash causes the <condition> to be true, an empty hash causes it to be false.

Examples
%i = 0; do %i++; while(%i < 100); echo "After first execution: %i"; %i = 10 do { echo "Executed!"; %i++; } while(%i < 1) echo "After second execution: %i";
See also
while

Index, Commands