Man pages sections > man3 > App::Info::Handler::Carp

App::Info::Handler::Carp - Use Carp to handle App::Info events

App::Info::Handler::Carp(3pm) User Contributed Perl Documentation App::Info::Handler::Carp(3pm)

NAME

App::Info::Handler::Carp - Use Carp to handle App::Info events

SYNOPSIS

  use App::Info::Category::FooApp;
  use App::Info::Handler::Carp;
  my $carp = App::Info::Handler::Carp->new('carp');
  my $app = App::Info::Category::FooApp->new( on_info => $carp );
  # Or...
  my $app = App::Info::Category::FooApp->new( on_error => 'croak' );

DESCRIPTION

App::Info::Handler::Carp objects handle App::Info events by passing their messages to Carp functions. This means that if you want errors to croak or info messages to carp, you can easily do that. You'll find, however, that App::Info::Handler::Carp 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::Carp registers itself with App::Info::Handler, setting up a number 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::Carp object for handling events. The registered strings are:
carp
Passes the event message to "Carp::carp()".
warn
An alias for "carp".
croak
Passes the event message to "Carp::croak()".
die
An alias for "croak".
cluck
Passes the event message to "Carp::cluck()".
confess
Passes the event message to "Carp::confess()".

INTERFACE

Constructor

new
  my $carp_handler = App::Info::Handler::Carp->new;
  $carp_handler = App::Info::Handler::Carp->new( level => 'carp' );
  my $croak_handler = App::Info::Handler::Carp->new( level => 'croak' );
Constructs a new App::Info::Handler::Carp object and returns it. It can take a single parameterized argument, "level", which can be any one of the following values:
carp
Constructs a App::Info::Handler::Carp object that passes the event message to "Carp::carp()".
warn
An alias for "carp".
croak
Constructs a App::Info::Handler::Carp object that passes the event message to "Carp::croak()".
die
An alias for "croak".
cluck
Constructs a App::Info::Handler::Carp object that passes the event message to "Carp::cluck()".
confess
Constructs a App::Info::Handler::Carp object that passes the event message to "Carp::confess()".
If the "level" parameter is not passed, "new()" will default to creating an App::Info::Handler::Carp object that passes App::Info event messages to "Carp::carp()".

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 bug-App-Info@rt.cpan.org <mailto:bug-App-Info@rt.cpan.org>.

AUTHOR

David E. Wheeler <david@justatheory.com>

SEE ALSO

App::Info documents the event handling interface.
Carp of documents the functions used by this class.
App::Info::Handler::Print handles events by printing their messages to a file handle.
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 (c) 2002-2011, David E. Wheeler. Some Rights Reserved.
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
2015-06-06 perl v5.20.2