NAME
Carp::Parse - Parse a Carp stack trace into an array of caller information with parsed arguments.
DESCRIPTION
Carp produces a stacktrace that includes caller arguments; this module parses each line of the stack trace to extract its arguments, which allows rewriting the stack trace (for example, to redact sensitive information).
VERSION
Version 1.0.7
SYNOPSIS
# Retrieve a Carp stack trace with longmess(). This is tedious, but you will
# normally be using this module in a context where the stacktrace is already
# generated for you and you want to parse it, so you won't have to go through
# this step.
sub test3 { return Carp::longmess("Test"); }
sub test2 { return test3(); }
sub test1 { return test2(); }
my $stack_trace = test1();
# Parse the Carp stack trace.
use Carp::Parse;
my $parsed_stack_trace = Carp::Parse::parse_stack_trace( $stack_trace );
use Data::Dump qw( dump );
foreach my $caller_information ( @$parsed_stack_trace )
{
# Print the arguments for each caller.
say dump( $caller->get_arguments_list() );
}
FUNCTIONS
parse_stack_trace()
Parse a stack trace produced by Carp
into an arrayref of Carp::Parse::CallerInformation
objects.
my $parsed_stack_trace = Carp::Parse::parse_stack_trace( $stack_trace );
AUTHOR
Kate Kirby, <kate at cpan.org>
.
Guillaume Aubert, <aubertg at cpan.org>
.
BUGS
Please report any bugs or feature requests to bug-carp-parse at rt.cpan.org
, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Carp-Parse. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
SUPPORT
You can find documentation for this module with the perldoc command.
perldoc Carp::Parse
You can also look for information at:
RT: CPAN's request tracker
AnnoCPAN: Annotated CPAN documentation
CPAN Ratings
Search CPAN
ACKNOWLEDGEMENTS
Thanks to ThinkGeek (http://www.thinkgeek.com/) and its corporate overlords at Geeknet (http://www.geek.net/), for footing the bill while we eat pizza and write code for them!
COPYRIGHT & LICENSE
Copyright 2012 Kate Kirby & Guillaume Aubert.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License version 3 as published by the Free Software Foundation.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/