logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

SGMLS::Output - Stack-based Output Procedures

Description

       This library allows redirectable, stack-based output to files, pipes, handles, strings, or nul.  It is
       especially useful for packages like SGMLS, 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.

Name

       SGMLS::Output - Stack-based Output Procedures

See Also:

       SGMLS.

perl v5.36.0                                       2022-10-13                                        Output(3pm)

Synopsis

         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();

See Also