>O> "Hello Kitty"
>L> "!"
>O> "Hello Kitty!"
Hello Kitty!
Here, lines 3 and 4 set the variables used in line 5. Execution of line 5 then proceeds in two stages.
First the string to be interpreted is built up, using a literal string, a variable (INDIRECT), and another
literal string. The resulting pure character string is then interpreted, just as though it were actually part
of the original program. Because it is a new clause, it is traced as such (the second *-* trace flag
under line 5) and is then processed. Again a literal string is concatenated to the value of a variable
(NAME) and another literal, and the final result (Hello Kitty!) is then displayed.
3. For many purposes, you can use the VALUE function (see page 196) instead of the INTERPRET
instruction. The following line could, therefore, have replaced line 5 in the last example:
say "Hello" value(indirect)"!"
INTERPRET is usually required only in special cases, such as when two or more statements are to be
interpreted together, or when an expression is to be evaluated dynamically.
INTERPRET
146 CICS TS for VSE/ESA: REXX Guide