This module extends L<B::Deparse> by making it recursively replace subroutine calls encountered when deparsing.
my $code = $brd->coderef2text(sub { ... });
=head1 DESCRIPTION
This module extends L<B::Deparse> by making it recursively replace subroutine calls encountered when deparsing.
-Please refer to L<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.
+Please refer to L<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.
-The L<B::RecDeparse> object constructor. You can specify the underlying L<B::Deparse> constructor arguments by passing a string or an array reference as the value of the C<deparse> key. The C<level> option expects an integer that specifies how many levels of recursions are allowed : C<-1> means infinite while C<0> means none and match L<B::Deparse> behaviour.
+The L<B::RecDeparse> object constructor.
+You can specify the underlying L<B::Deparse> constructor arguments by passing a string or an array reference as the value of the C<deparse> key.
+The C<level> option expects an integer that specifies how many levels of recursions are allowed : C<-1> means infinite while C<0> means none and match L<B::Deparse> behaviour.
+The following functions and methods from L<B::Deparse> are reimplemented by this module :
+
+=over 4
-=head2 C<init>
+=item *
-=head2 C<deparse_sub>
+C<compile>
-=head2 C<pp_entersub>
+=item *
-=head2 C<pp_refgen>
+C<init>
-=head2 C<pp_gv>
+=item *
-Functions and methods from L<B::Deparse> reimplemented by this module. Never call them directly.
+C<deparse_sub>
+
+=item *
+
+C<pp_entersub>
+
+=item *
+
+C<pp_refgen>
+
+=item *
+
+C<pp_srefgen>
+
+=item *
+
+C<pp_gv>
+
+=back
Otherwise, L<B::RecDeparse> inherits all methods from L<B::Deparse>.
Otherwise, L<B::RecDeparse> inherits all methods from L<B::Deparse>.
@@ -224,6+273,8 @@ An object-oriented module shouldn't export any function, and so does this one.
=head1 DEPENDENCIES
=head1 DEPENDENCIES
+L<perl> 5.8.1.
+
L<Carp> (standard since perl 5), L<Config> (since perl 5.00307) and L<B::Deparse> (since perl 5.005).
=head1 AUTHOR
L<Carp> (standard since perl 5), L<Config> (since perl 5.00307) and L<B::Deparse> (since perl 5.005).
=head1 AUTHOR
@@ -234,7+285,8 @@ You can contact me by mail or on C<irc.perl.org> (vincent).
=head1 BUGS
=head1 BUGS
-Please report any bugs or feature requests to C<bug-b-recdeparse at rt.cpan.org>, or through the web interface at L<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.
+Please report any bugs or feature requests to C<bug-b-recdeparse at rt.cpan.org>, or through the web interface at L<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.
=head1 SUPPORT
=head1 SUPPORT
@@ -246,7+298,7 @@ Tests code coverage report is available at L<http://www.profvince.com/perl/cover
=head1 COPYRIGHT & LICENSE
=head1 COPYRIGHT & LICENSE
-Copyright 2008,2009,2010,2011 Vincent Pit, all rights reserved.
+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.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.