> correct -269; that's because it's really more like > -268.99999999999994315658 instead. Usually, the > "sprintf", "printf", or the "POSIX::floor" and
And in this case, that means: alester@flr4[~/play]$ more sprintf.pl #!/usr/bin/perl -w $a=0.57 * 100; print sprintf("%03d %20.19f\n", $a,$a); alester@flr4[~/play]$ perl sprintf.pl 056 56.9999999999999928946 ... In general, the chances that you've found a bug in the language or implementation that's been around as long and is as widely used as Perl 5.6 is preeeeeeetty small. #!Andy -- 'Andy Lester [EMAIL PROTECTED] Programmer/author petdance.com Daddy parsley.org/quinn Jk'=~/.+/s;print((split//,$&) [unpack'C*',"n2]3%+>\"34.'%&.'^%4+!o.'"])