|
NAMEB::Utils::OP - op related utility functions for perlVERSIONversion 0.27SYNOPSISuse B::Utils::OP qw(parent_op return_op); sub foo { my $pop = parent_op(0); my $rop = return_op(0); } DESCRIPTIONsub foo { dothis(1); find_things(); return; } has the following optree: d <1> leavesub[1 ref] K/REFC,1 ->(end) - <@> lineseq KP ->d 1 <;> nextstate(main -371 bah.pl:8) v/2 ->2 5 <1> entersub[t2] vKS/TARG,3 ->6 - <1> ex-list K ->5 2 <0> pushmark s ->3 3 <$> const[IV 1] sM ->4 - <1> ex-rv2cv sK/3 ->- 4 <#> gv[*dothis] s ->5 6 <;> nextstate(main -371 bah.pl:9) v/2 ->7 9 <1> entersub[t4] vKS/TARG,3 ->a - <1> ex-list K ->9 7 <0> pushmark s ->8 - <1> ex-rv2cv sK/3 ->- 8 <#> gv[*find_things] s/EARLYCV ->9 a <;> nextstate(main -371 bah.pl:10) v/2 ->b c <@> return K ->d b <0> pushmark s ->c The "find_things" in "foo" is called in the "entersub" in #9. If you call "parent_op" function with level 0, you get the "nextstate" op that is before the entersub, which is #6. And "return_op" gives you the next op that the caller is returning to, in this case, the "nextstate" in #a. EXPORTED PERL FUNCTIONS
B::CV METHODS
AUTHORSChia-liang Kao <clkao@clkao.org>COPYRIGHTCopyright 2008 by Chia-liang KaoThis program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See <http://www.perl.com/perl/misc/Artistic.html>
Visit the GSP FreeBSD Man Page Interface. |