The builtin macro PIPETHROUGH is, besides SYSTEM, the second macro with which a Yodl document can affect its environment. Therefore, the danger of `live data' exists which is also described in the section about SYSTEM (see section ??). Nevertheless, PIPETHROUGH can be very useful. It is intended to use external programs to accomplish special features. The idea is that an external command is started, to which a block of text from within a Yodl document is `piped'. The output of that child program is piped back into the Yodl document; hence, a block of text is `piped through' an external program. Whatever is received again in the Yodl run, is further processed. The PIPETHROUGH macro takes two arguments:
  • the command to run, and
  • the text to send to that command.
  • Functionally, the occurrence of the PIPETHROUGH macro and of its two arguments is replaced by whatever the child program produces on its standard output. An example might be the inclusion of the current date, as in:
    The current date is:
    PIPETHROUGH(date)()
    

    In this example the command is date and the text to send to that program is empty.

    The main purpose of this macro is to provide a way by which external programs can be used to create, e.g., tables or figures for a given output format. Further releases of Yodl may contain such dedicated programs for the output formats.


    Go back to index of Yodl.

    Please send Yodl questions and comments to yodl@icce.rug.nl.

    Please send comments on these web pages to (address unknown)

    Copyright (c) 1997, 1998, 1999 Karel Kubat and Jan Nieuwenhuizen.

    Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.


    This page was built from Yodl-1.31.18 by

    Stefan van der Eijk <(address unknown)>, Sun Jan 1 19:37:38 2006 CET.