The code
#!perl -w
$x = 0.061234567;
$string = sprintf "%.2f\%", $x * 100;
works fine ($string = 6.12%), but it produces an
Invalid conversion in sprintf: end of string
error message. Removing the -w flag eliminates the error message, but
I don't understand why there is an error at all. Obviously "\%" is
the source of the error, but why should this literal %-sign cause a
problem?
I'm not interested in a get-around. The line
$string = sprintf( "%.2f", $x * 100 ) . '%';
works fine. I'm just curious as to why the first form results in an
error message.
Regards,
Vic