Daniel Dan - 2013-11-01

Enhanced Messaging in VCL 1.1

In VCL 1.0, for writing messages during the processing of files we can use the
#message <msg>
and the
#message:
...
#endmessage (multi-line)
commands.

#message-if <expression> <msg>

In VCL 1.1 we can also use:
#message-if <expression> <msg>
and the
#message-if: <expression>
...
#endmessage (multi-line)
commands.

The expression can contain:

  • Integer constants
  • Character constants that represent an integer
  • Arithmetic operators for addition, subtraction, multiplication, division, logical operations (&& and ||) relational operations , (<, <=, >, >=) and equality operations (==, !=).
  • References to VCL variables and expressions. VCL variables should contain an integer value and VCL expressions should be arithmetic expressions that yield integer. VCL variables and expressions are expanded before actual computation of the expression's value begins.

#message-debug <msg>

#message-debug <msg>
and the
#message-debug:
...
#endmessage (multi-line)
commands.

If the processor is in debug mode (set by command line parameter, or by setting VCL variable $debugmode = true in VCL code) the messages will be delivered to the output stream, otherwise ignored.

Plain text

We can have VCL unprocessed text on the output by using " " characters for every line or using the #text - #endtext VCL command.

Examples:

#text
This goes to the output
#set a = 34 to the output
?@aaa? ?2+2+2? unprocessed
#endtext

or

"This goes to the output"
"#set a = 34 to the output"
"?@aaa? ?2+2+2? unprocessed"

output:
This goes to the output
#set a = 34 to the output
?@aaa? ?2+2+2? unprocessed

 

Last edit: Daniel Dan 2013-11-01