the sense of the test is reversed.
The C<while> statement executes the block as long as the expression is
-true (does not evaluate to the null string (C<""> or C<0> or C<"0">).
+true (does not evaluate to the null string C<""> or C<0> or C<"0">).
The LABEL is optional, and if present, consists of an identifier followed
by a colon. The LABEL identifies the loop for the loop control
statements C<next>, C<last>, and C<redo>.