IMHO perl bug, ennek működnie kéne. Check this out:
#!/usr/bin/perl
use POSIX;
use locale;
strtod(0);
printf("%f\n", 1.2345);
Ez vesszőt ír. Úgy fest, hogy a strtod() tetszőleges argumentummal helyrepofozza a későbbi printf-et. Arra tippelek, hogy a "use locale" pragma önmagában még semmit sem csinál, hanem a strtod() és rakat egyéb függvény van úgy megírva, hogy inicializálja a locale-t, ha ez még nem történt meg. Szerintem a printf()-ből elfelejtették ennek csekkolását. De ez csak egy megalapozatlan tipp a semmiből. Az ötletet egyébként a "man perllocale"-ben a "Category LC_NUMERIC" példaprogramja adta.