NAME¶
App::Info::Handler::Print - Print App::Info event messages
SYNOPSIS¶
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' );
DESCRIPTION¶
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.
BUGS¶
Please send bug reports to <bug-app-info@rt.cpan.org> or file them at
<
http://rt.cpan.org/NoAuth/Bugs.html?Dist=App-Info>.
AUTHOR¶
David Wheeler <david@justatheory.com>
SEE ALSO¶
App::Info documents the event handling interface.
App::Info::Handler::Carp handles events by passing their messages Carp module
functions.
App::Info::Handler::Prompt offers event handling more appropriate for unknown
and confirm events.
App::Info::Handler describes how to implement custom App::Info event handlers.
COPYRIGHT AND LICENSE¶
Copyright (c) 2002-2008, David Wheeler. Some Rights Reserved.
This module is free software; you can redistribute it and/or modify it under the
same terms as Perl itself.