NAME
   Carp::POE - Carp adapted to POE

SYNOPSIS
    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!";
        }
    }

DESCRIPTION
   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.

   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".

TODO
   Do something clever with "cluck()" and "confess()".

BUGS
   Those go here:
   <http://rt.cpan.org/Public/Dist/Display.html?Name=Carp%3A%3APOE>

AUTHOR
   Hinrik Örn Sigurðsson <[email protected]>

LICENSE AND COPYRIGHT
   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.