B::Deparse: Suppress trailing ; in formats
authorFather Chrysostomos <sprout@cpan.org>
Thu, 23 Aug 2012 01:15:11 +0000 (18:15 -0700)
committerFather Chrysostomos <sprout@cpan.org>
Thu, 23 Aug 2012 01:15:11 +0000 (18:15 -0700)
While it doesn’t change the behaviour, nobody writes formats that way,
and this makes the output match 5.17.2 and earlier.

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

index 34fc38c..b4bcd54 100644 (file)
@@ -941,6 +941,7 @@ sub deparse_format {
        $kid = $kid->sibling;
        for (; not null $kid; $kid = $kid->sibling) {
            push @exprs, $self->deparse($kid, -1);
+           $exprs[-1] =~ s/;\z//;
        }
        push @text, "\f".join(", ", @exprs)."\n" if @exprs;
        $op = $op->sibling;
index 841d531..2d75050 100644 (file)
@@ -246,7 +246,6 @@ SKIP: {
 # multiple statements on format lines
 $a = `$^X $path "-MO=Deparse" -e "format =" -e "\@" -e "x();z()" -e. 2>&1`;
 $a =~ s/-e syntax OK\n//g;
-$a =~ s/z\(\);/z()/;
 is($a, <<'EOCODH', 'multiple statements on format lines');
 format STDOUT =
 @