App::I...::Carp(3pm)

πŸ“¦
version 0.57 Β· 2 versions
  • 0.57 Β· debian bookworm, debian trixie, ubuntu noble, ubuntu resolute, ubuntu stonking (latest)
  • 0.57 Β· ubuntu jammy
, in debian bookworm, debian trixie, ubuntu noble, ubuntu resolute, ubuntu stonking

πŸ‘‘ App::Info::Handler::Carp

okay bestie, welcome to App::Info::Handler::Carp πŸ’– β€” a lil handler class whose whole job is: use Carp to handle App::Info events. That's the vibe. That's the whole plot. πŸŽ€


✨ 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' );

like… you literally just hand it an event and it carps about it. no cap. πŸ¦‹


🌸 DESCRIPTION 🌸

App::Info::Handler::Carp objects handle App::Info events by passing their messages to Carp functions. it's giving delegation. πŸ’… so if you want errors to croak or info messages to carp, you can easily do that. obsessed, honestly.

but bestie, real talk β€” App::Info::Handler::Carp is most effective for info and error events. unknown and prompt events are better handled by event handlers that actually 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, in order, main character lineup ✨:

  • 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 β€” pick your fighter πŸ’€:

  • 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(). so like, no args = carps. default slay. πŸ’…


🌈 SUPPORT 🌈

this module is stored in an open GitHub repository at http://github.com/theory/app-info/. feel free to fork and contribute! 🧚 bestie behavior fr fr.

please file bug reports via GitHub Issues at http://github.com/theory/app-info/issues/ or by sending mail to bug-App-Info@rt.cpan.org (that's a mailto: mailto:bug-App-Info@rt.cpan.org). we love a paper trail 🫢


πŸ‘‘ AUTHOR πŸ‘‘

David E. Wheeler β€” <david@justatheory.com> πŸ’–


⭐ SEE ALSO ⭐

  • App::Info β€” documents the event handling interface.
  • Carp β€” 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. iconic, truly. 🌸


and that's the whole page bestie, no notes πŸ’… β€” this was App::I...::Carp(3pm) from the perl v5.36.0 era, dated 2022-12-06, part of the User Contributed Perl Documentation. periodt. πŸŽ€βœ¨πŸ¦‹

πŸ“¦ where this page comes from