I missed the necessity of ... having ; characters to terminate
both the expression to be eval'ed and also the eval statement
itself.
A ; (semicolon) is not necessary to terminate the last
statement in a file, block, or an eval string derived from an
expression; if any of these have only a single statement, no semicolon
termination at all is necessary. The eval statement itself
must be ;-terminated because other statements follow it.
Update: Another, more general and perhaps better way to put
it is that every statement must be terminated, either by a
semicolon or by the end of the block, file or eval string
containing it. And, of course, extra semicolons have no effect.
Give a man a fish: <%-{-{-{-<