summaryrefslogtreecommitdiff
path: root/perl/perl-Carp-Clan/README
diff options
context:
space:
mode:
Diffstat (limited to 'perl/perl-Carp-Clan/README')
-rw-r--r--perl/perl-Carp-Clan/README20
1 files changed, 20 insertions, 0 deletions
diff --git a/perl/perl-Carp-Clan/README b/perl/perl-Carp-Clan/README
new file mode 100644
index 0000000000..f65f5efb04
--- /dev/null
+++ b/perl/perl-Carp-Clan/README
@@ -0,0 +1,20 @@
+Carp::Clan - Report errors from perspective of caller of a "clan" of modules.
+
+This module is based on "Carp.pm" from Perl 5.005_03. It has been modified to
+skip all package names matching the pattern given in the "use" statement
+inside the "qw()" term (or argument list).
+Suppose you have a family of modules or classes named "Pack::A", "Pack::B" and
+so on, and each of them uses "Carp::Clan qw(^Pack::);" (or at least the one in
+which the error or warning gets raised).
+Thus when for example your script "tool.pl" calls module "Pack::A", and module
+"Pack::A" calls module "Pack::B", an exception raised in module "Pack::B" will
+appear to have originated in "tool.pl" where "Pack::A" was called, and not in
+"Pack::A" where "Pack::B" was called, as the unmodified "Carp.pm" would try to
+make you believe :-).
+This works similarly if "Pack::B" calls "Pack::C" where the exception is
+raised, etcetera.
+In other words, this blames all errors in the "Pack::*" modules on the user of
+these modules, i.e., on you. ;-)
+
+For more informations, see:
+http://search.cpan.org/dist/Carp-Clan/lib/Carp/Clan.pod