Fix bug #42224, perl -MO=Deparse -e 'print readpipe $x, $y' broken
authorRafael Garcia-Suarez <rgarciasuarez@gmail.com>
Sat, 31 Mar 2007 14:11:40 +0000 (14:11 +0000)
committerRafael Garcia-Suarez <rgarciasuarez@gmail.com>
Sat, 31 Mar 2007 14:11:40 +0000 (14:11 +0000)
p4raw-id: //depot/perl@30811

ext/B/B/Deparse.pm

index 224410c..34339cc 100644 (file)
@@ -3725,8 +3725,10 @@ sub dq {
 sub pp_backtick {
     my $self = shift;
     my($op, $cx) = @_;
-    # skip pushmark
-    return single_delim("qx", '`', $self->dq($op->first->sibling));
+    # skip pushmark if it exists (readpipe() vs ``)
+    my $child = $op->first->sibling->isa('B::NULL')
+       ? $op->first->first : $op->first->sibling;
+    return single_delim("qx", '`', $self->dq($child));
 }
 
 sub dquote {