Hallo,
auf einer Maschine ( perl 5.12.2)
perl -MPOSIX -e 'setlocale(LC_NUMERIC, "de_DE"); print
setlocale(LC_NUMERIC) ," ... " , sprintf("%.2f",24.45), "\n" '; de_DE ... 24.45
auf einer anderen Maschine (perl 5.8.8) aber:
de_DE ... 24,45
Die Locales selber sind alle da. Hat sich zwischen den Perlversionen etwas geändert? Wie sag ichs dem Perl, daß er wieder korrekt "sprintf..tet"?
--
Mit freundlichen Grüßen
Jens Puruckherr
Jens Puruckherr jpuruckherr@cyberport.de (Mi 19 Jan 2011 08:53:26 CET):
Hallo,
auf einer Maschine ( perl 5.12.2)
perl -MPOSIX -e 'setlocale(LC_NUMERIC, "de_DE"); print
setlocale(LC_NUMERIC) ," ... " , sprintf("%.2f",24.45), "\n" '; de_DE ... 24.45
#! /home/perl/opt/bin/perl
use v5.12; use strict; use warnings;
use POSIX; setlocale(LC_NUMERIC, "de_DE.UTF-8"); printf "%s : %s -> %.2f\n", $], setlocale(LC_NUMERIC), 10/3;
5.012002 : de_DE.UTF-8 -> 3,33 (Es ist ein ActiveState-Perl 5.12).
Ein $ LC_ALL=de_DE locale
beschwert sich nicht?
lug-dd@mailman.schlittermann.de