Hi guys,
I must have been dreaming when I tested this and ran it the first time as I 
thought it worked! Now it's not :P

Anyone know what's wrong here, can I not leverage the expand sub to convert the 
scientific notation in the printf statement like I am?

sub expand {
        my $n = shift;
        return $n unless $n =~ /^(.*)e([-+]?)(.*)$/;
        my ($num, $sign, $exp) = ($1, $2, $3);
        my $sig = $sign eq '-' ? "." . ($exp - 1 + length $num) : '';
        return sprintf "%${sig}f", $n;
}

while (<FILEIN>) {
                my @data = split;
                next unless @data == 3;
                next if grep { not /^$RE{num}{real}$/ } @data;
                printf FILEOUT "X%s Y%s\n", expand($data[0]), expand($data[1]);
                printf FILEOUT "Z[%s+DPad]\n", expand($data[2]);
                print FILEOUT "M98PDRILL.SUBL1\n";
                print FILEOUT "G90\n";
                print FILEOUT "G00 Z[CPlane]\n"
}


Thanks!
jlc


Reply via email to