The PIPE command creates a special execution context for its
command sequences. The following DCL commands either do not work
or exhibit new behavior in this context:
o PIPE - Nested PIPE commands in the same command procedure
level are not allowed. There can only be one PIPE command
context for each command procedure level; however, nested
PIPE commands at different procedure levels are allowed. For
example:
$ TYPE FOO.COM
$ ! FOO.COM
$ :
$ PIPE ...
$ :
$
$ PIPE @FOO.COM ; ...
In this example, the PIPE command inside FOO.COM is allowed
because it is executed at a different command procedure level.
o GOTO and EXIT - These two commands, when executed as PIPE
command sequences, delete the PIPE command context before
the GOTO or EXIT command is executed. Any command sequences
following these two commands in a PIPE command are flushed.
o STOP - The STOP command, when executed after a PIPE command is
interrupted by Ctrl/Y, deletes the PIPE command context.
o THEN, ELSE, ENDIF, SUBROUTINE, ENDSUBROUTINE, RETURN, and
DCL labels - These commands cannot execute as PIPE command
sequences because it is not possible to realize their
functions in a PIPE command context.