]> git.vpit.fr Git - perl/modules/B-RecDeparse.git/blobdiff - lib/B/RecDeparse.pm
Better be on irc.perl.org
[perl/modules/B-RecDeparse.git] / lib / B / RecDeparse.pm
index 7244ec59e337b6174e8552216f66c8b23dd4cac1..31ba6d5f57d95d8d1b705a0683a8797eb8097b3a 100644 (file)
@@ -16,11 +16,11 @@ B::RecDeparse - Deparse recursively into subroutines.
 
 =head1 VERSION
 
-Version 0.02
+Version 0.03
 
 =cut
 
-our $VERSION = '0.02';
+our $VERSION = '0.03';
 
 =head1 SYNOPSIS
 
@@ -122,19 +122,20 @@ if (FOOL_SINGLE_DELIM) {
 
 sub pp_entersub {
  my $self = shift;
- $self->{brd_sub} = 1;
- my $body = $self->SUPER::pp_entersub(@_);
- $self->{brd_sub} = 0;
+ my $body = do {
+  local $self->{brd_sub} = 1;
+  $self->SUPER::pp_entersub(@_);
+ };
  $body =~ s/^&\s*(\w)/$1/ if $self->_recurse;
  return $body;
 }
 
 sub pp_refgen {
  my $self = shift;
- $self->{brd_sub} = 0;
my $body = $self->SUPER::pp_refgen(@_);
$self->{brd_sub} = 1;
- return $body;
+ return do {
 local $self->{brd_sub} = 0;
 $self->SUPER::pp_refgen(@_);
+ }
 }
 
 sub pp_gv {
@@ -144,9 +145,10 @@ sub pp_gv {
   $body = $self->SUPER::pp_gv(@_);
  } else {
   my $gv = $self->gv_or_padgv($_[0]);
-  ++$self->{brd_cur};
-  $body = 'sub ' . $self->indent($self->deparse_sub($gv->CV));
-  --$self->{brd_cur};
+  $body = do {
+   local @{$self}{qw/brd_sub brd_cur/} = (0, $self->{brd_cur} + 1);
+   'sub ' . $self->indent($self->deparse_sub($gv->CV));
+  };
   if (FOOL_SINGLE_DELIM) {
    $body = $key . $body;
   } else {
@@ -182,7 +184,7 @@ L<Carp> (standard since perl 5), L<Config> (since perl 5.00307) and L<B::Deparse
 
 Vincent Pit, C<< <perl at profvince.com> >>, L<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 C<irc.perl.org> (vincent).
 
 =head1 BUGS