Deparse wasn't handling the form of system and exec where
the extra first arg (without comma) gave the program name.
These now deparse ok, without an additional comma:
system $prog $arg1,$arg2;
exec $prog $arg1,$arg2;
return "$exprs[0] = $fullname"
. ($parens ? "($exprs[0])" : " $exprs[0]");
}
+ if ($name =~ /^(system|exec)$/
+ && ($op->flags & OPf_STACKED)
+ && @exprs > 1)
+ {
+ # handle the "system prog a1,a2,.." form
+ my $prog = shift @exprs;
+ $exprs[0] = "$prog $exprs[0]";
+ }
+
if ($parens && $nollafr) {
return "($fullname " . join(", ", @exprs) . ")";
} elsif ($parens) {