Package : perl-Devel-Confess

Package details

Summary: Include stack traces on all warnings and errors

This module is meant as a debugging aid. It can be used to make a script
complain loudly with stack backtraces when warn()ing or die()ing. Unlike
other similar modules (e.g. Carp::Always), it includes stack traces even
when exception objects are thrown.

The stack traces are generated using Carp, and will look work for all
types of errors. Carp's "carp" and "confess" functions will also be made
to include stack traces.

$ perl -d:Confess -e 'sub f { die "arghh" }; sub g { f }; g'
arghh at -e line 1.
main::f() called at -e line 1
main::g() called at -e line 1

$ perl -d:Confess -w -e 'sub f { $a = shift; @a = @$a };' \
-e 'sub g { f(undef) }; g'
Use of uninitialized value $a in array dereference at -e line 1.
main::f(undef) called at -e line 2
main::g() called at -e line 2

Internally, this is implemented with $SIG{__WARN__} and $SIG{__DIE__}

Stack traces are also included if raw non-object references are thrown.

License: GPL+ or Artistic

Maintainer: sander85

List of RPMs