Deparse pipe(local *FH, local *FH) correctly
authorFather Chrysostomos <sprout@cpan.org>
Thu, 8 Dec 2011 20:51:19 +0000 (12:51 -0800)
committerFather Chrysostomos <sprout@cpan.org>
Thu, 8 Dec 2011 21:51:19 +0000 (13:51 -0800)
This is a follow-up to commit 2462c3cca (bug #63558).

I made it work with the first argument, but forgot the second.

dist/B-Deparse/Deparse.pm
dist/B-Deparse/t/deparse.t

index 792cfd5..821cce1 100644 (file)
@@ -2394,7 +2394,8 @@ sub listop {
        if not $parens and not $nollafr and substr($first, 0, 1) eq "(";
     push @exprs, $first;
     $kid = $kid->sibling;
-    if (defined $proto && $proto =~ /^\*\*/ && $kid->name eq "rv2gv") {
+    if (defined $proto && $proto =~ /^\*\*/ && $kid->name eq "rv2gv"
+        && !($kid->private & OPpLVAL_INTRO)) {
        push @exprs, $self->deparse($kid->first, 6);
        $kid = $kid->sibling;
     }
index 4905d54..8f2a4b8 100644 (file)
@@ -877,3 +877,4 @@ CORE::do({});
 ####
 # [perl #63558] open local(*FH)
 open local *FH;
+pipe local *FH, local *FH;