The only kind of simple statement is an expression evaluated for its
side effects. Every simple statement must be terminated with a
semicolon, unless it is the final statement in a block, in which case
-the semicolon is optional. (A semicolon is still encouraged there if
-the block takes up more than one line, because you may eventually add
+the semicolon is optional. (A semicolon is still encouraged if the
+block takes up more than one line, because you may eventually add
another line.) Note that there are some operators like C<eval {}> and
C<do {}> that look like compound statements, but aren't (they're just
TERMs in an expression), and thus need an explicit termination if used
=head2 Truth and Falsehood
-A false value is C<undef>, the number 0, the string C<'0'> and the
-empty string C<''>. Note that unlike some languages, these are three
-distinctly different values. A true value is everything which is not
-false.
-
-Note that while 0, 0.0 and C<'0'> are false, C<'0.0'> is true.
+The number 0, the strings C<'0'> and C<''>, the empty list C<()>, and
+C<undef> are all false in a boolean context. All other values are true.
=head2 Statement Modifiers