I'm debugging a perl script which looks like this (simplified):
#!/usr/bin/perl
use strict;
use warnings;
use Evil::Module;
printf "%.3f\n", 0.1;
This script outputs 0,100 (note , instead of .). If I comment out the use Evil::Module statement, the output will be 0.100.
I believe that this is related to locale setting in the module. But locale is a lexical pragma (according to the manpage), and it's not used within the script. What's happening here?
The use locale pragma is lexical, but if the Evil::Module module uses POSIX::setlocale, then the locale change is global.
See perldoc perllocale for more information.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With