]> git.vpit.fr Git - perl/modules/B-RecDeparse.git/blobdiff - lib/B/RecDeparse.pm
Teach this module about perl 5.21.4
[perl/modules/B-RecDeparse.git] / lib / B / RecDeparse.pm
index 7395ebb11eb17552ebe95c399ee5387ad38a186e..3f940da57ff6b6cf391df8182753d03cd0273ee9 100644 (file)
@@ -1,6 +1,6 @@
 package B::RecDeparse;
 
-use 5.008001;
+use 5.008_001;
 
 use strict;
 use warnings;
@@ -17,11 +17,11 @@ B::RecDeparse - Deparse recursively into subroutines.
 
 =head1 VERSION
 
-Version 0.07
+Version 0.08
 
 =cut
 
-our $VERSION = '0.07';
+our $VERSION = '0.08';
 
 =head1 SYNOPSIS
 
@@ -194,8 +194,9 @@ sub pp_gv {
  my $self = shift;
 
  my $gv   = $self->gv_or_padgv($_[0]);
- my $name = $gv->NAME;
- my $cv   = $gv->CV;
+ my $cv   = $gv->FLAGS & B::SVf_ROK ? $gv->RV : undef;
+ my $name = $cv ? $cv->NAME_HEK || $cv->GV->NAME : $gv->NAME;
+ $cv    ||= $gv->CV;
  my $seen = $self->{brd_seen};
 
  my $body;
@@ -206,7 +207,7 @@ sub pp_gv {
   $body = do {
    local @{$self}{qw<brd_sub brd_cur>} = (0, $self->{brd_cur} + 1);
    local $seen->{$name} = 1;
-   'sub ' . $self->indent($self->deparse_sub($gv->CV));
+   'sub ' . $self->indent($self->deparse_sub($cv));
   };
 
   if (FOOL_SINGLE_DELIM) {