Manual Reference Pages - IO::PAGER::BUFFERED (3)
IO::Pager::Buffered - Pipe deferred output to PAGER if destination is a TTY
local $token = IO::Pager::Buffered::open *STDOUT;
print <<" HEREDOC" ;
A bunch of text later
# You can also use scalar filehandles...
my $token = IO::Pager::Buffered::open($FH) or warn($!);
print $FH "No globs or barewords for us thanks!\n";
# ...or an object interface
my $token = new IO::Pager::Buffered;
IO::Pager subclasses are designed to programmatically decide whether
or not to pipe a filehandles output to a program specified in PAGER;
determined and set by IO::Pager at runtime if not yet defined.
This subclass buffers all output for display upon exiting the current scope.
If this is not what you want look at another subclass such as
IO::Pager::Unbuffered. While probably not common, this may be useful in
some cases,such as buffering all output to STDOUT while the process occurs,
showing only warnings on STDERR, then displaying the output to STDOUT after.
Or alternately letting output to STDOUT slide by and defer warnings for later
Class-specific method specifics below, others are inherited from IO::Pager.
open( [FILEHANDLE] )
Instantiate a new IO::Pager to paginate FILEHANDLE if necessary.
Assign the return value to a scoped variable. Output does not
occur until all references to this variable are destroyed eg;
upon leaving the current scope. See DESCRIPTION.
new( [FILEHANDLE] )
Almost identical to open, except that you will get an IO::Handle
back if theres no TTY to allow for IO::Pager agnostic programming.
tell( FILEHANDLE )
Returns the size of the buffer in bytes.
flush( FILEHANDLE )
Immediately flushes the contents of the buffer.
If the last print did not end with a newline, the text from the
preceding newline to the end of the buffer will be flushed but
is unlikely to display until a newline is printed and flushed.
If you mix buffered and unbuffered operations the output order is unspecified,
and will probably differ for a TTY vs. a file. See perlfunc.
$, is used see perlvar.
IO::Pager, IO::Pager::Unbuffered, IO::Pager::Page,
Jerrad Pierce <email@example.com>
Florent Angly <firstname.lastname@example.org>
This module was inspired by Monte Mitzelfelts IO::Page 0.02
COPYRIGHT AND LICENSE
Copyright (C) 2003-2012 Jerrad Pierce
Or, if you prefer:
Thou shalt not claim ownership of unmodified materials.
Thou shalt not claim whole ownership of modified materials.
Thou shalt grant the indemnity of the provider of materials.
Thou shalt use and dispense freely without other restrictions.
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.0 or,
at your option, any later version of Perl 5 you may have available.
|perl v5.20.3 ||IO::PAGER::BUFFERED (3) ||2015-02-25 |
Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.