|
SGMLS::Output - Stack-based Output Procedures
|
SGMLS::Output - Stack-based Output Procedures
This module is not included with the standard ActivePerl distribution. It is available as a separate download using PPM.
use SGMLS::Output;
To print a string to the current output destination:
output($data);
To push a new output level to the filehandle DATA:
push_output('handle',DATA);
To push a new output level to the file ``foo.data'' (which will be
opened and closed automatically):
push_output('file','foo.data');
To push a new output level to a pipe to the shell command ``sort'':
push_output('pipe','sort');
To push a new output level appending to the file ``foo.data'':
push_output('append','foo.data');
To push a new output level to an empty string:
push_output('string');
To push a new output level appending to the string ``David is '':
push_output('string',"David is ");
To push a new output level to The Great Beyond:
push_output('nul');
To revert to the previous output level:
pop_output();
To revert to the previous output level, returning the contents of an
output string:
$data = pop_output();
This library allows redirectable, stack-based output to files, pipes,
handles, strings, or nul. It is especially useful for packages like
the SGMLS manpage, since handlers for individual SGML elements can
temporarily change and restore the default output destination. It is
also particularly useful for capturing the contents of an element (and
its sub-elements) in a string.
Example:
sgmls('<title>', sub{ push_output('string'); });
sgmls('</title>', sub{ $title = pop_output(); });
In between, anything sent to output (such as CDATA) will be
accumulated in the string returned from pop_output().
Example:
sgmls('<tei.header>', sub { push_output('nul'); });
sgmls('</tei.header>', sub { pop_output(); });
All output will be ignored until the header has finished.
Copyright 1994 and 1995 by David Megginson,
dmeggins@aix1.uottawa.ca. Distributed under the terms of the Gnu
General Public License (version 2, 1991) -- see the file COPYING
which is included in the SGMLS.pm distribution.
the SGMLS manpage.
|
SGMLS::Output - Stack-based Output Procedures
|
|