IO::Pager::Unbuffered - Pipe output to PAGER if destination is a TTY
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; }
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.
All methods are inherited from IO::Pager; except for instantiation.
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
IO::Pager, IO::Pager::Buffered, IO::Pager::Page,
Jerrad Pierce <jpierce@cpan.org>
Florent Angly <florent.angly@gmail.com>
This module was inspired by Monte Mitzelfelt's IO::Page 0.02
Significant proddage provided by Tye McQueen.
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.
To install IO::Pager, copy and paste the appropriate command in to your terminal.
cpanm
cpanm IO::Pager
CPAN shell
perl -MCPAN -e shell install IO::Pager
For more information on module installation, please visit the detailed CPAN module installation guide.