B::RecDeparse - Deparse recursively into subroutines.
VERSION
- Version 0.02
+ Version 0.08
SYNOPSIS
- perl -MO=RecDeparse,deparse,[@B__Deparse_opts],level,-1 [ -e '...' | bleh.pl ]
+ # Deparse recursively a Perl one-liner :
+ $ perl -MO=RecDeparse,deparse,@B__Deparse_opts,level,-1 -e '...'
- # Or as a module :
+ # 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 $brd = B::RecDeparse->new(
+ deparse => \@B__Deparse_opts,
+ level => $level,
+ );
my $code = $brd->coderef2text(sub { ... });
DESCRIPTION
- This module extends B::Deparse by making you recursively replace
+ 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
the two modules.
METHODS
- "new < deparse => [ @B__Deparse_opts ], level => $level >"
+ "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.
- "compile"
- "init"
- "pp_entersub"
- "pp_refgen"
- "pp_gv"
- Functions and methods from B::Deparse overriden by this module. Never
- call them directly.
+ The following functions and methods from B::Deparse are reimplemented by
+ this module :
+
+ * "compile"
+
+ * "init"
+
+ * "deparse_sub"
+
+ * "pp_entersub"
+
+ * "pp_refgen"
+
+ * "pp_gv"
Otherwise, B::RecDeparse inherits all methods from B::Deparse.
this one.
DEPENDENCIES
+ perl 5.8.1.
+
Carp (standard since perl 5), Config (since perl 5.00307) and B::Deparse
(since perl 5.005).
AUTHOR
Vincent Pit, "<perl at profvince.com>", <http://www.profvince.com>.
- You can contact me by mail or on #perl @ FreeNode (vincent or
- Prof_Vince).
+ You can contact me by mail or on "irc.perl.org" (vincent).
BUGS
Please report any bugs or feature requests to "bug-b-recdeparse at
<http://www.profvince.com/perl/cover/B-RecDeparse>.
COPYRIGHT & LICENSE
- Copyright 2008 Vincent Pit, all rights reserved.
+ Copyright 2008,2009,2010,2011,2013 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.