App::Info::Handler::Print(3pm)

App::Info::Handler::Print3pm

Print app::info event messages

Usage

  use App::Info::Category::FooApp;
  use App::Info::Handler::Print;
  my $stdout = App::Info::Handler::Print->new( fh => 'stdout' );
  my $app = App::Info::Category::FooApp->new( on_info => $stdout );
  # Or...
  my $app = App::Info::Category::FooApp->new( on_error => 'stderr' );

Overview

App::Info::Handler::Print objects handle App::Info events by printing their messages to a filehandle. This means that if you want event messages to print to a file or to a system filehandle, you can easily do it with this class. You'll find, however, that App::Info::Handler::Print is most effective for info and error events; unknown and prompt events are better handled by event handlers that know how to prompt users for data. See App::Info::Handler::Prompt for an example of that functionality.

Upon loading, App::Info::Handler::Print registers itself with App::Info::Handler, setting up a couple of strings that can be passed to an App::Info concrete subclass constructor. These strings are shortcuts that tell App::Info how to create the proper App::Info::Handler::Print object for handling events. The registered strings are:

stdout

Prints event messages to "STDOUT".

stderr

Prints event messages to "STDERR".

See the "new()" constructor below for how to have App::Info::Handler::Print print event messages to different filehandle.

Interface

Constructor

new

  my $stderr_handler = App::Info::Handler::Print->new;
  $stderr_handler = App::Info::Handler::Print->new( fh => 'stderr' );
  my $stdout_handler = App::Info::Handler::Print->new( fh => 'stdout' );
  my $fh = FileHandle->new($file);
  my $fh_handler = App::Info::Handler::Print->new( fh => $fh );

Constructs a new App::Info::Handler::Print and returns it. It can take a single parameterized argument, "fh", which can be any one of the following values:

stderr

Constructs a App::Info::Handler::Print object that prints App::Info event messages to "STDERR".

stdout

Constructs a App::Info::Handler::Print object that prints App::Info event messages to "STDOUT".

FileHandle
GLOB

Pass in a reference and App::Info::Handler::Print will assume that it's a filehandle reference that it can print to. Note that passing in something that can't be printed to will trigger an exception when App::Info::Handler::Print tries to print to it.

If the "fh" parameter is not passed, "new()" will default to creating an App::Info::Handler::Print object that prints App::Info event messages to "STDOUT".

handler

This method is called by App::Info to print out the message from events.

Support

This module is stored in an open GitHub repository <http://github.com/theory/app-info/>. Feel free to fork and contribute!

Please file bug reports via GitHub Issues <http://github.com/theory/app-info/issues/> or by sending mail to [email protected] <mailto:[email protected]>.

Releases

10 releases since Debian 4.0 (Etch); the text changed 6 times.

  1. 4.0
  2. 5.0–6.0
  3. 7
  4. 8
  5. 9–10
  6. 11
  7. 12–13

Author

David E. Wheeler <[email protected]>

From libapp-info-perl 0.57-4 in Debian 13 (Trixie). Parsed by carta from the page's man source.