Carp::Datum::Strip - strips most Carp::Datum calls lexically
use Carp::Datum::Strip qw(datum_strip); datum_strip("-", "-"); datum_strip($file, "$file.new", ".bak");
This module exports a single routine, datum_strip(), whose purpose is to remove calls to
Carp::Datum routines lexically.
Because stripping is done lexically, there are some restrictions about what is actually supported. Unless the conventions documented in Carp::Datum are followed, stripping will be incorrect.
The general guidelines are:
There are two calls that will never be stripped: VERIFY() and DTRACE(). The VERIFY() is meant to be preserved (or you would have used
DTRACE, when called, will be remapped dynamically to some
Log::Agent routine, depending on the trace level. See Carp::Datum for details.
The interface of the datum_strip() routine is:
datum_stripold_file, new_file, [ext]
The old_file specifies the old file path, the one to be stripped. The stripped version will be written to new_file.
If the optional third argument ext is given (e.g. ".bak"), then old_file will be renamed with the supplied extension, and new_file will be renamed old_file. Renaming only occurs if stripping was successful (i.e. the new file was correctly written to disk).
The lowest nine "rwx" mode bits from old_file are preserved when creating new_file.
Both old_file and new_file can be set to "-", in which case STDIN and STDOUT are used, respectively, and no renaming can occur, nor any mode bit propagation.
Returns true on success,
undef on error.
Christophe Dehaudt <email@example.com> and Raphael Manfredi <Raphael_Manfredi@pobox.com>.