B::RecDeparse - Deparse recursively into subroutines.
Version 0.10
# Deparse recursively a Perl one-liner : $ perl -MO=RecDeparse,deparse,@B__Deparse_opts,level,-1 -e '...' # Or a complete Perl script : $ perl -MO=RecDeparse,deparse,@B__Deparse_opts,level,-1 x.pl # Or a single code reference : use B::RecDeparse; my $brd = B::RecDeparse->new( deparse => \@B__Deparse_opts, level => $level, ); my $code = $brd->coderef2text(sub { ... });
This module extends B::Deparse by making it recursively replace subroutine calls encountered when deparsing.
Please refer to B::Deparse documentation for what to do and how to do it. Besides the constructor syntax, everything should work the same for the two modules.
new
my $brd = B::RecDeparse->new( deparse => \@B__Deparse_opts, level => $level, );
The B::RecDeparse object constructor. You can specify the underlying B::Deparse constructor arguments by passing a string or an array reference as the value of the deparse key. The level option expects an integer that specifies how many levels of recursions are allowed : -1 means infinite while 0 means none and match B::Deparse behaviour.
deparse
level
-1
0
The following functions and methods from B::Deparse are reimplemented by this module :
compile
init
deparse_sub
pp_entersub
pp_refgen
pp_srefgen
pp_gv
Otherwise, B::RecDeparse inherits all methods from B::Deparse.
An object-oriented module shouldn't export any function, and so does this one.
perl 5.8.1.
Carp (standard since perl 5), Config (since perl 5.00307) and B::Deparse (since perl 5.005).
Vincent Pit, <perl at profvince.com>, http://www.profvince.com.
<perl at profvince.com>
You can contact me by mail or on irc.perl.org (vincent).
irc.perl.org
Please report any bugs or feature requests to bug-b-recdeparse at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=B-RecDeparse. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
bug-b-recdeparse at rt.cpan.org
You can find documentation for this module with the perldoc command.
perldoc B::RecDeparse
Tests code coverage report is available at http://www.profvince.com/perl/cover/B-RecDeparse.
Copyright 2008,2009,2010,2011,2013,2014,2015 Vincent Pit, all rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
To install B::RecDeparse, copy and paste the appropriate command in to your terminal.
cpanm
cpanm B::RecDeparse
CPAN shell
perl -MCPAN -e shell install B::RecDeparse
For more information on module installation, please visit the detailed CPAN module installation guide.