|Think about Loose Coupling|
perlman:lib:Carpby root (Scribe)
|on Dec 23, 1999 at 00:49 UTC||Need Help??|
See the current Perl documentation for lib:Carp.
Here is our local, out-dated (pre-5.6) version:
carp - warn of errors (from perspective of caller)
cluck - warn of errors with stack backtrace (not exported by default)
croak - die of errors (from perspective of caller)
confess - die of errors with stack backtrace
use Carp; croak "We're outta here!";
use Carp qw(cluck); cluck "This is how we got here!";
The Carp routines are useful in your own modules because they act like
As a debugging aid, you can force Carp to treat a croak as a confess and a carp as a cluck across all modules. In other words, force a detailed stack trace to be given. This can be very helpful when trying to understand why, or from where, a warning or error is being generated.
This feature is enabled by 'importing' the non-existant symbol 'verbose'. You would typically enable it by saying
perl -MCarp=verbose script.pl
or by including the string