Using ON, OFF, or PROCEDURE with TRACE
If you define an SPL variable called on, off, or procedure, and you attempt to use it in a TRACE statement, the value of the variable is not traced. Instead, the TRACE ON, TRACE OFF, or TRACE PROCEDURE statements execute. You can trace the value of the variable by specifying the variable in a more complex expression.
The following example shows both the ambiguous syntax and workarounds
that use arithmetic or string expressions that evaluate to the variable:
DEFINE on, off, procedure INT;
TRACE on; --ambiguous
TRACE 0+ on; --ok
TRACE off; --ambiguous
TRACE ''||off;--ok
TRACE procedure; --ambiguous
TRACE 0+procedure;--ok