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.