|
MODULE Filters; IMPORT Args := UnixArguments, CrPipes, Read, Streams, Write; PROCEDURE UpperCase(in, out: Streams.Stream); (* ... *) PROCEDURE RemoveEmptyLines(in, out: Streams.Stream); (* ... *) PROCEDURE ProcessArgs; (* ... *) PROCEDURE DoIt; VAR ok: BOOLEAN; BEGIN ok := Streams.Copy(Streams.stdin, Streams.stdout, -1); END DoIt; BEGIN ProcessArgs; DoIt; END Filters. |
ProcessArgs hat hier die Möglichkeit,
beliebig viele Filter vor Streams.stdin einzufügen.
| |
Die Prozedur Doit, die hier die Verarbeitung
übernimmt, bleibt hier völlig unabhängig von der
Filterung der Eingabe.
|
Copyright © 2004, 2005 Andreas Borchert, in HTML konvertiert am 18.02.2005 |