$mcEol = ";\n"; # end-of-line terminator for a MiniCad command $halfwidth = sprintf($cadFormat,$atoms[2]/2); $halfheight = sprintf($cadFormat,$atoms[2]/2); print CADOUT "$SymbolDecode{$atoms[1]}(-$halfwidth,$halfheight,$halfwidth$,-$halfheight)$mcEol"; Produces this output Rect(-0.038,0.038,0.038-0.038); Note the missing comma before the fourth argument. This is my workaround: print CADOUT "$SymbolDecode{$atoms[1]}(-$halfwidth,$halfheight,$halfwidth"; print CADOUT ", -"; print CADOUT "$halfheight)$mcEol"; Oval(-0.050,0.050,0.050, -0.050); Does anybody have any explanation of the curious syntax rule that seems to be applied? Is there a more readable workaround? I could understand hard binding of a unary minus to $halfheight even though it is text but dropping the comma?? This doesn't work either. print CADOUT "$SymbolDecode{$atoms[1]}(-$halfwidth,$halfheight,$halfwidth,"; print CADOUT "-"; print CADOUT "$halfheight)$mcEol"; -- -> From the U S of A, the only socialist country that refuses to admit it. <- # ===== Want to unsubscribe from this list? # ===== Send mail with body "unsubscribe" to macperl-request@macperl.org