NAME
DBIO::Carp - Error reporting utilities for DBIO
VERSION
version 0.900000
DESCRIPTION
Documentation is lacking on purpose - this an experiment not yet fit for mass consumption. If you use this do not count on any kind of stability, in fact don't even count on this module's continuing existence (it has been noindexed for a reason).
In addition to the classic interface:
use DBIO::Carp '^DBIO'
this module also supports a class-data based way to specify the exclusion regex. A message is only carped from a callsite that matches neither the closed over string, nor the value of "_skip_namespace_frames" as declared on any callframe already skipped due to the same mechanism. This is to ensure that intermediate callsites can declare their own additional skip-namespaces.
METHODS
__find_caller
Internal helper returning callsite location and origin label after frame filtering.
import
Install carp, carp_once, and carp_unique into the caller namespace.
unimport
Not implemented.
METHODS
CLASS ATTRIBUTES
_skip_namespace_frames
A classdata attribute holding the stringified regex matching callsites that should be skipped by the carp methods below. An empty string q{} is treated like no setting/undef (the distinction is necessary due to semantics of the class data accessors provided by Class::Accessor::Grouped)
EXPORTED FUNCTIONS
This module export the following 3 functions. Only warning related carp* is being handled here, for croak-ing you must use "throw_exception" in DBIO::Schema or DBIO::Exception.
carp
Carps message with the file/line of the first callsite not matching "_skip_namespace_frames" nor the closed-over arguments to use DBIO::Carp.
carp_unique
Like "carp" but warns once for every distinct callsite (subject to the same ruleset as "carp").
carp_once
Like "carp" but warns only once for the life of the perl interpreter (regardless of callsite).
AUTHOR
DBIO & DBIx::Class Authors
COPYRIGHT AND LICENSE
Copyright (C) 2026 DBIO Authors Portions Copyright (C) 2005-2025 DBIx::Class Authors Based on DBIx::Class, heavily modified.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.