IO::Pager::Unbuffered - Pipe output to PAGER if destination is a TTY
Contents
Caveats
You probably want to do something with SIGPIPE eg;
eval {
local $SIG{PIPE} = sub { die };
local $STDOUT = IO::Pager::open(*STDOUT);
while (1) {
# Do something
}
}
# Do something else
Copyright And License
Copyright (C) 2003-2018 Jerrad Pierce
• 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.
Or, if you prefer:
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.30.3 2020-11-07 IO::Pager::Unbuffered(3pm)
Description
IO::Pager subclasses are designed to programmatically decide whether or not to pipe a filehandle's output
to a program specified in PAGER; determined and set by IO::Pager at runtime if not yet defined.
See IO::Pager for method details.
Methods
All methods are inherited from IO::Pager; except for instantiation.
Name
IO::Pager::Unbuffered - Pipe output to PAGER if destination is a TTY
See Also
IO::Pager, IO::Pager::Buffered, IO::Pager::Page,
Synopsis
use IO::Pager::Unbuffered;
{
local $STDOUT = IO::Pager::Unbuffered::open *STDOUT;
print <<" HEREDOC" ;
...
A bunch of text later
HEREDOC
}
{
# You can also use scalar filehandles...
my $token = IO::Pager::Unbuffered::open($FH) or warn($!);
print $FH "No globs or barewords for us thanks!\n" while 1;
}
{
# ...or an object interface
my $token = new IO::Pager::Unbuffered;
$token->print("OO shiny...\n") while 1;
}
