Carp::Parse - Parse a Carp stack trace into an array of caller information with parsed arguments.
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 1.0.6
# 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() ); }
Parse a stack trace produced by Carp into an arrayref of Carp::Parse::CallerInformation objects.
Carp
Carp::Parse::CallerInformation
my $parsed_stack_trace = Carp::Parse::parse_stack_trace( $stack_trace );
Kate Kirby, <kate at cpan.org>.
<kate at cpan.org>
Guillaume Aubert, <aubertg at cpan.org>.
<aubertg at cpan.org>
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.
bug-carp-parse at rt.cpan.org
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
http://rt.cpan.org/NoAuth/Bugs.html?Dist=Carp-Parse
AnnoCPAN: Annotated CPAN documentation
http://annocpan.org/dist/Carp-Parse
CPAN Ratings
http://cpanratings.perl.org/d/Carp-Parse
Search CPAN
http://search.cpan.org/dist/Carp-Parse/
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 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/
To install Carp::Parse, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Carp::Parse
CPAN shell
perl -MCPAN -e shell install Carp::Parse
For more information on module installation, please visit the detailed CPAN module installation guide.