Jerrad Pierce > IO-Pager-0.30 > IO::Pager::Unbuffered

Download:
IO-Pager-0.30.tgz

Dependencies

Annotate this POD

CPAN RT

Open  1
Stalled  1
View/Report Bugs
Module Version: 0.3   Source   Latest Release: IO-Pager-0.31

NAME ^

IO::Pager::Unbuffered - Pipe output to PAGER if destination is a TTY

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";
  }

  {
    # ...or an object interface
    my $token = new IO::Pager::Unbuffered;

    $token->print("OO shiny...\n");
  }

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.

CAVEATS ^

You probably want to do something with SIGPIPE eg;

  eval {
    $SIG{PIPE} = sub { die };
    local $STDOUT = IO::Pager::open(*STDOUT);

    while (1) {
      # Do something
    }
  }

  # Do something else

SEE ALSO ^

IO::Pager, IO::Pager::Buffered, IO::Pager::Page,

AUTHOR ^

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 AND LICENSE ^

Copyright (C) 2003-2012 Jerrad Pierce

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.

syntax highlighting: