Carp::POE - Carp adapted to POE
use Carp::POE; use POE; POE::Session->create( package_states => [ main => [qw( _start test_event )] ], ); $poe_kernel->run(); sub _start { $_[KERNEL]->yield(test_event => 'fail'); } sub test_event { my $arg = $_[ARG0]; if ($arg ne 'correct') { carp "Argument is incorrect!"; } }
This module provides the same functions as Carp, but modifies the behavior of carp() and croak() if called inside a POE event handler. The file names/line numbers in the emitted warnings are replaced with POE::Session's $_[CALLER_FILE] and $_[CALLER_LINE]. This is useful as it will direct you to the code that posted the event instead of directing you to some subroutine in POE::Session which actually called the event handler.
carp()
croak()
$_[CALLER_FILE]
$_[CALLER_LINE]
Calls to carp() and croak() in subroutines that are not POE event handlers will not be effected, so it's always safe to use Carp::POE instead of Carp.
use Carp::POE
Carp
Do something clever with cluck() and confess().
cluck()
confess()
Those go here: http://rt.cpan.org/Public/Dist/Display.html?Name=Carp%3A%3APOE
Hinrik Örn Sigurðsson <hinrik.sig@gmail.com>
Copyright 2008-2010 Hinrik Örn Sigurðsson
This program is free software, you can redistribute it and/or modify it under the same terms as Perl itself.
To install Carp::POE, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Carp::POE
CPAN shell
perl -MCPAN -e shell install Carp::POE
For more information on module installation, please visit the detailed CPAN module installation guide.