Zahl mit zwei Nachkommastellen

Zahl mit zwei Nachkommastellen

am 03.10.2005 17:02:33 von Mario Ospelt

Hallo zusammen,

Möchte Zahlen immer mit zwei Stellen nach dem Komma darstellen.

z.B.:

2.4 -> 2.40
3 -> 3.00

Wie mache ich das am besten?
Mit regex?

Danke und Gruss
Mario

Re: Zahl mit zwei Nachkommastellen

am 03.10.2005 17:29:47 von Toni Erdmann

Mario Ospelt wrote:
> Hallo zusammen,
>
> Möchte Zahlen immer mit zwei Stellen nach dem Komma darstellen.
>
> z.B.:
>
> 2.4 -> 2.40
> 3 -> 3.00
>
> Wie mache ich das am besten?
> Mit regex?

printf "zahl = %.2f\n", $zahl;

Toni

Re: Zahl mit zwei Nachkommastellen

am 03.10.2005 17:31:27 von Toni Erdmann

Toni Erdmann wrote:
> Mario Ospelt wrote:
>> Hallo zusammen,
>>
>> Möchte Zahlen immer mit zwei Stellen nach dem Komma darstellen.
>>
>> z.B.:
>>
>> 2.4 -> 2.40
>> 3 -> 3.00
>>
>> Wie mache ich das am besten?
>> Mit regex?
>
> printf "zahl = %.2f\n", $zahl;

$text = sprintf "%.2f", zahl;

wenn's eine Konvertierung: Zahl -> String sein soll (und nicht "print")

Toni

Re: Zahl mit zwei Nachkommastellen

am 04.10.2005 12:18:07 von Robert Berghaus

Hallo

Toni Erdmann wrote:
> Toni Erdmann wrote:
>=20
>> Mario Ospelt wrote:
>>
>>> Hallo zusammen,
>>>
>>> Möchte Zahlen immer mit zwei Stellen nach dem Komma darstellen.
>>>
>>> z.B.:
>>>
>>> 2.4 -> 2.40
>>> 3 -> 3.00
>>>
>>> Wie mache ich das am besten?
>>> Mit regex?
>>
>>
>> printf "zahl =3D %.2f\n", $zahl;
>=20
>=20
> $text =3D sprintf "%.2f", zahl;
>=20
> wenn's eine Konvertierung: Zahl -> String sein soll (und nicht "print")=

>=20

Wenn jetzt noch mit $text =3D~ s/\./,/; der Punkt in das gewünschte=20
Komma geändert wird, stimmt es.

Robert

Re: Zahl mit zwei Nachkommastellen

am 05.10.2005 15:26:23 von Toni Erdmann

Robert Berghaus wrote:

> Hallo
>
> Toni Erdmann wrote:
>
>> Toni Erdmann wrote:
>>
>>> Mario Ospelt wrote:
>>>
>>>> Hallo zusammen,
>>>>
>>>> Möchte Zahlen immer mit zwei Stellen nach dem Komma darstellen.
>>>>
>>>> z.B.:
>>>>
>>>> 2.4 -> 2.40
>>>> 3 -> 3.00
>>>>
>>>> Wie mache ich das am besten?
>>>> Mit regex?
>>>
>>>
>>>
>>> printf "zahl = %.2f\n", $zahl;
>>
>>
>>
>> $text = sprintf "%.2f", zahl;
>>
>> wenn's eine Konvertierung: Zahl -> String sein soll (und nicht "print")
>>
>
> Wenn jetzt noch mit $text =~ s/\./,/; der Punkt in das gewünschte Komma
> geändert wird, stimmt es.

Das hängt wohl von $ENV{'LANG'} oder $ENV{'LC_LOCALE'} oder ... ab,
ob's mit '.' oder ',' erscheint oder nicht, oder?

Aber in jedem Fall funktioniert obiger 'substitute' Code, denn wenn kein
'.' drin, dann auch keine Änderung.

Toni

Re: Zahl mit zwei Nachkommastellen

am 06.10.2005 12:01:39 von Robert Berghaus

Hallo

Toni Erdmann wrote:
> Robert Berghaus wrote:
>=20
[...]

>>>>
>>>> printf "zahl =3D %.2f\n", $zahl;
>>>
>>>
>>> $text =3D sprintf "%.2f", zahl;
>>>
>>> wenn's eine Konvertierung: Zahl -> String sein soll (und nicht "print=
")
>>>
>>
>> Wenn jetzt noch mit $text =3D~ s/\./,/; der Punkt in das gewünschte =

>> Komma geändert wird, stimmt es.
>=20
>=20
> Das hängt wohl von $ENV{'LANG'} oder $ENV{'LC_LOCALE'} oder ... ab,
> ob's mit '.' oder ',' erscheint oder nicht, oder?
>=20

Ab welcher Version funktioniert das denn? Ich habe das mal unter=20
OS2 mit den Version 5.4.55 und 5.6.0 ausprobiert und mit beiden=20
funktioniert es nicht. Auch unter Windows mit 5.6.x geht es nicht.
Da ich printf aber noch von C kenne, bin ich auch gar nicht auf=20
den Gedanken gekommen, daß die Funktion sich lokal angepaßt=20
verhalten könnte.

> Aber in jedem Fall funktioniert obiger 'substitute' Code, denn wenn kei=
n
> '.' drin, dann auch keine Änderung.
>=20
> Toni

Robert

Re: Zahl mit zwei Nachkommastellen

am 07.10.2005 12:40:07 von Toni Erdmann

Robert Berghaus wrote:
> Hallo
>
> Toni Erdmann wrote:
>
>> Robert Berghaus wrote:
>>
> [...]
>
>>>>>
>>>>> printf "zahl = %.2f\n", $zahl;
>>>>
>>>>
>>>>
>>>> $text = sprintf "%.2f", zahl;
>>>>
>>>> wenn's eine Konvertierung: Zahl -> String sein soll (und nicht "print")
>>>>
>>>
>>> Wenn jetzt noch mit $text =~ s/\./,/; der Punkt in das gewünschte
>>> Komma geändert wird, stimmt es.
>>
>>
>>
>> Das hängt wohl von $ENV{'LANG'} oder $ENV{'LC_LOCALE'} oder ... ab,
>> ob's mit '.' oder ',' erscheint oder nicht, oder?
>>
>
> Ab welcher Version funktioniert das denn? Ich habe das mal unter OS2 mit
> den Version 5.4.55 und 5.6.0 ausprobiert und mit beiden funktioniert es
> nicht. Auch unter Windows mit 5.6.x geht es nicht.
> Da ich printf aber noch von C kenne, bin ich auch gar nicht auf den
> Gedanken gekommen, daß die Funktion sich lokal angepaßt verhalten könnte.
>

Oops, hatte natürlich ein *unix* ähnliches System gedacht, und an
Perl 5.8.x.

Ich kann mich dunkel an einen Thread hier oder in der
comp.lang.perl.misc erinnern, bei dem es um sowas ging.
Werde am WE mal suchen.

>> Aber in jedem Fall funktioniert obiger 'substitute' Code, denn wenn kein
>> '.' drin, dann auch keine Änderung.
>>
>> Toni
>
>
> Robert
>

Toni

Re: Zahl mit zwei Nachkommastellen

am 07.10.2005 19:41:50 von Toni Erdmann

Toni Erdmann wrote:
> Robert Berghaus wrote:
>> Hallo
>>
>> Toni Erdmann wrote:
>>
>>> Robert Berghaus wrote:
>>>
>> [...]
>>
>>>>>>
>>>>>> printf "zahl = %.2f\n", $zahl;
>>>>>
>>>>>
>>>>>
>>>>> $text = sprintf "%.2f", zahl;
>>>>>
>>>>> wenn's eine Konvertierung: Zahl -> String sein soll (und nicht
>>>>> "print")
>>>>>
>>>>
>>>> Wenn jetzt noch mit $text =~ s/\./,/; der Punkt in das gewünschte
>>>> Komma geändert wird, stimmt es.
>>>
>>>
>>>
>>> Das hängt wohl von $ENV{'LANG'} oder $ENV{'LC_LOCALE'} oder ... ab,
>>> ob's mit '.' oder ',' erscheint oder nicht, oder?
>>>
>>
>> Ab welcher Version funktioniert das denn? Ich habe das mal unter OS2
>> mit den Version 5.4.55 und 5.6.0 ausprobiert und mit beiden
>> funktioniert es nicht. Auch unter Windows mit 5.6.x geht es nicht.
>> Da ich printf aber noch von C kenne, bin ich auch gar nicht auf den
>> Gedanken gekommen, daß die Funktion sich lokal angepaßt verhalten könnte.
>>
>
> Oops, hatte natürlich ein *unix* ähnliches System gedacht, und an
> Perl 5.8.x.
>
> Ich kann mich dunkel an einen Thread hier oder in der
> comp.lang.perl.misc erinnern, bei dem es um sowas ging.
> Werde am WE mal suchen.
>
>>> Aber in jedem Fall funktioniert obiger 'substitute' Code, denn wenn kein
>>> '.' drin, dann auch keine Änderung.
>>>
>>> Toni
>>
>>
>> Robert
>>
>
> Toni

perldoc perllocale

brachte ein Beispiel:

$n = 5/2; # == 2.5 bzw. == 2,5
$a = $n; # Konvertierung zum String
print "Zahl ist $a\n"; # hier scheint u.U. $ENV{'LC_NUMERIC'} eine
# Rolle zu spielen, ob's mit '.' oder ','
# ausgegeben wird kommt

perldoc perllocale ist recht umfangreich

Toni

Re: Zahl mit zwei Nachkommastellen

am 08.10.2005 20:18:43 von Robert Berghaus

Hallo Toni

[...]

>> Ab welcher Version funktioniert das denn? Ich habe das mal unter OS2=20
>> mit den Version 5.4.55 und 5.6.0 ausprobiert und mit beiden=20
>> funktioniert es nicht. Auch unter Windows mit 5.6.x geht es nicht.
>> Da ich printf aber noch von C kenne, bin ich auch gar nicht auf den=20
>> Gedanken gekommen, daß die Funktion sich lokal angepaßt verhalten =
könnte.
>>
>=20
> Oops, hatte natürlich ein *unix* ähnliches System gedacht, und an
> Perl 5.8.x.
>=20
> Ich kann mich dunkel an einen Thread hier oder in der
> comp.lang.perl.misc erinnern, bei dem es um sowas ging.
> Werde am WE mal suchen.
>=20

Ich habe das jetzt mal unter Debina Linux mit Perl 5.8.2=20
ausprobiert, wieder mit negativem Ergebnis.
Wie müßte sowas in einem Perl Skript aussehen?

[...]

Re: Zahl mit zwei Nachkommastellen

am 08.10.2005 21:09:39 von Christian Kirsch

Robert Berghaus wrote:

> Ich habe das jetzt mal unter Debina Linux mit Perl 5.8.2
> ausprobiert, wieder mit negativem Ergebnis.
> Wie müßte sowas in einem Perl Skript aussehen?
>
> [...]

Das könnte man bestimmt besser beantworten, wenn Du die relevanten Teile
des Skripts hier posten würdest, einschließlich der Ergebnisse.

Re: Zahl mit zwei Nachkommastellen

am 09.10.2005 13:28:26 von Robert Berghaus

Christian Kirsch wrote:
> Robert Berghaus wrote:
>=20
>=20
>>Ich habe das jetzt mal unter Debina Linux mit Perl 5.8.2=20
>>ausprobiert, wieder mit negativem Ergebnis.
>>Wie müßte sowas in einem Perl Skript aussehen?
>>
>>[...]
>=20
>=20
> Das könnte man bestimmt besser beantworten, wenn Du die relevanten Te=
ile
> des Skripts hier posten würdest, einschließlich der Ergebnisse.

Das war kein Skript sondern auf der Kommandozeile (jetzt mal aus=20
dem Gedächtnis):
perl -e 'use locale; printf("%.2f\n", 5.6);'

Hier das aktuelle von der OS2 Kommandozeile mit Ausgabe:
perl -e "use locale; printf(\"%.2f\n\", 5.6); print $ENV{'LANG'};"
5.60
de_DE_EURO

Auch wenn ich $ENV{'LANG'} vorher auf 'de_DE' setze, klappt es nicht.

Kennt jemand eine FAQ oder Anleitung speziell für Perl unter OS2?=20
Möglicherweise ist ja an der Umgebung noch was faul.

Robert

Re: Zahl mit zwei Nachkommastellen

am 09.10.2005 21:19:49 von David Haller

Robert Berghaus wrote:
> Das war kein Skript sondern auf der Kommandozeile (jetzt mal aus
> dem Ged?chtnis):
> perl -e 'use locale; printf("%.2f\n", 5.6);'
>
> Hier das aktuelle von der OS2 Kommandozeile mit Ausgabe:
> perl -e "use locale; printf(\"%.2f\n\", 5.6); print $ENV{'LANG'};"
> 5.60
> de_DE_EURO
>
> Auch wenn ich $ENV{'LANG'} vorher auf 'de_DE' setze, klappt es nicht.

$ perl -e 'use POSIX qw(locale_h); setlocale(LC_NUMERIC,
$ENV{LC_NUMERIC}); $n=5/2; printf "%.2f\n", $n;'
2.50

$ LANG=de_DE perl -e 'use POSIX qw(locale_h); setlocale(LC_NUMERIC,
$ENV{LC_NUMERIC}); $n=5/2; printf "%.2f\n", $n;'
2,50

locale ist bei mir en_US...

HTH,
-dnh

--
Oh Ghods, not another personality...I'm losing track.
Look: Could everyone who is me, please let me know? Thanks.
-- Jim

Re: Zahl mit zwei Nachkommastellen

am 11.10.2005 12:08:45 von Robert Berghaus

David Haller wrote:
> Robert Berghaus wrote:
>=20
>>Das war kein Skript sondern auf der Kommandozeile (jetzt mal aus=20
>>dem Ged?chtnis):
>>perl -e 'use locale; printf("%.2f\n", 5.6);'
>>
>>Hier das aktuelle von der OS2 Kommandozeile mit Ausgabe:
>>perl -e "use locale; printf(\"%.2f\n\", 5.6); print $ENV{'LANG'};"
>>5.60
>>de_DE_EURO
>>
>>Auch wenn ich $ENV{'LANG'} vorher auf 'de_DE' setze, klappt es nicht.
>=20
>=20
> $ perl -e 'use POSIX qw(locale_h); setlocale(LC_NUMERIC,
> $ENV{LC_NUMERIC}); $n=3D5/2; printf "%.2f\n", $n;'
> 2.50
>=20
> $ LANG=3Dde_DE perl -e 'use POSIX qw(locale_h); setlocale(LC_NUMERIC,
> $ENV{LC_NUMERIC}); $n=3D5/2; printf "%.2f\n", $n;'
> 2,50
>=20
> locale ist bei mir en_US...

Das funktioniert jetzt unter Knoppix 3.6 Perl 5.8.4 und unter OS2=20
Perl 5.6 aber nicht unter 5.4.55.
Unter Windows Active Perl 5.6 geht's ebenfalls.
Das $n=3D5/2 kann übrigens entfallen; wenn bei printf 2.5 angegeben=20
wird, reicht es auch.

Robert

Re: Zahl mit zwei Nachkommastellen

am 11.10.2005 12:47:07 von Christian Lackas

* Robert Berghaus [2005-10-11]:

Hallo Robert,

> Das funktioniert jetzt unter Knoppix 3.6 Perl 5.8.4 und unter OS2
> Perl 5.6 aber nicht unter 5.4.55.

ein Perl 5.4.55 gibt es offiziell nicht. Von wem stammt das und auf
welcher offiziellen Perl-Version basiert das? Ist das vielleicht ein
5.004_05? Was sagt 'perl -V'?

Gruss
Christian

--
Politiker trinken selten Wein, denn im Wein liegt die Wahrheit.
http://www.lackas.net/ Perl Delphi Linux MP3 Searchengines Domainchecker

Re: Zahl mit zwei Nachkommastellen

am 12.10.2005 21:33:44 von Robert Berghaus

Christian Lackas wrote:
> * Robert Berghaus [2005-10-11]:
>=20
> Hallo Robert,
>=20
>=20
>>Das funktioniert jetzt unter Knoppix 3.6 Perl 5.8.4 und unter OS2=20
>>Perl 5.6 aber nicht unter 5.4.55.
>=20
>=20
> ein Perl 5.4.55 gibt es offiziell nicht. Von wem stammt das und auf
> welcher offiziellen Perl-Version basiert das? Ist das vielleicht ein
> 5.004_05? Was sagt 'perl -V'?
>=20

Genau die Version ist es (fast). Ich ging davon aus, das es sich=20
um eine alte Schreibweise für 5.4.55 handelt. Hier das Ergebnis=20
von perl -V:

Summary of my perl5 (5.0 patchlevel 4 subversion 55) configuration:
Platform:
osname=3Dos2, osvers=3D2.30, archname=3Dos2
uname=3D'os2 karetnikova 2 2.30 i386 '
hint=3Drecommended, useposix=3Dtrue, d_sigaction=3Ddefine
bincompat3=3D useperlio=3Dundef d_sfio=3Dundef
Compiler:
cc=3D'gcc', optimize=3D'-O2 -fomit-frame-pointer -malign-loops=3D2=20
-malign-jumps=3D2 -malign-functions=3D2 -s', gccversion=3D2.7.2.1
cppflags=3D'-Zomf -Zmt -DDOSISH -DOS2=3D2 -DEMBED -I.=20
-DPACK_MALLOC -DDEBUGGING_MSTATS -DTWO_POT_OPTIMIZE=20
-DPERL_EMERGENCY_SBRK'
ccflags =3D'-Zomf -Zmt -DDOSISH -DOS2=3D2 -DEMBED -I.=20
-DPACK_MALLOC -DDEBUGGING_MSTATS -DTWO_POT_OPTIMIZE=20
-DPERL_EMERGENCY_SBRK'
stdchar=3D'char', d_stdstdio=3Ddefine, usevfork=3Dfalse
voidflags=3D15, castflags=3D0, d_casti32=3Ddefine, d_castneg=3Ddefin=
e
intsize=3D4, alignbytes=3D4, usemymalloc=3Dy, prototype=3Ddefine
Linker and Libraries:
ld=3D'gcc', ldflags =3D'-Zexe -Zomf -Zmt -Zcrtdll -Zstack 32000'
libpth=3De:/emx.add/lib e:/emx/lib e:/DEVTOOLS/OPENGL/LIB=20
e:/emx/lib/mt
libs=3D-lsocket -lm -lbsd
libc=3De:/emx/lib/mt/c_import.lib, so=3Ddll
useshrplib=3Dtrue, libperl=3Dlibperl.lib
Dynamic LinkinE:
dlsrc=3Ddl_dlopen.xs, dlext=3Ddll, d_dlsymun=3Dundef, ccdlflags=3D' =
'
cccdlflags=3D'-Zdll', lddlflags=3D'-Zdll -Zomf -Zmt -Zcrtdll'


Characteristics of this binary (from libperl):
Built under os2
Compiled at Nov 26 1997 18:45:04
%ENV:
PERLLIB=3D"e:\APPS\Entwick\Perl-5.4\Lib\site_perl=20
E:\APPS\Entwick\Perl-5.4\Lib\site_perl\os2"
PERLLIB_PREFIX=3D"f:/perllib/lib e:\APPS\Entwick\Perl-5.4\Lib"
PERL_BADLANG=3D"0"
PERL_SH_DIR=3D"e:\APPS\Entwick\Perl-5.4\Bin"
@INC:
e:\APPS\Entwick\Perl-5.4\Lib\site_perl=20
E:\APPS\Entwick\Perl-5.4\Lib\site_perl\os2
e:/APPS/Entwick/Perl-5.4/Lib/os2/5.00455
e:/APPS/Entwick/Perl-5.4/Lib
e:/APPS/Entwick/Perl-5.4/Lib/site_perl/os2
e:/APPS/Entwick/Perl-5.4/Lib/site_perl
.

Re: Zahl mit zwei Nachkommastellen

am 13.10.2005 15:56:10 von Christian Lackas

* Robert Berghaus [2005-10-12]:

Hallo Robert,

> > ein Perl 5.4.55 gibt es offiziell nicht. Von wem stammt das und auf
> > welcher offiziellen Perl-Version basiert das? Ist das vielleicht ein
> > 5.004_05? Was sagt 'perl -V'?
> Genau die Version ist es (fast). Ich ging davon aus, das es sich
> um eine alte Schreibweise für 5.4.55 handelt.

Perl 5.004 ist über 6 Jahre alt.
Ich denke mal, selbst wenn das ein Bug in der Software sein sollte
(weiss aber gar nicht, ob Perl das damals schon Lokalisierung in der
heutigen Form unterstützt haben will), dann ist das Interesse an der
Beseitigung wohl eher gering. Nimm einfach eine etwas jüngere Version.


Gruss
Christian


--
Van Herpen's Gesetz:
Die Lösung eines Problems besteht darin, jemanden zu finden, der das
Problem löst.
http://www.lackas.net/ Perl Delphi Linux MP3 Searchengines Domainchecker

Re: Zahl mit zwei Nachkommastellen

am 14.10.2005 18:37:21 von Robert Berghaus

Hallo Christian

Christian Lackas wrote:
> * Robert Berghaus [2005-10-12]:
>=20
> Hallo Robert,
>=20
>=20
>>>ein Perl 5.4.55 gibt es offiziell nicht. Von wem stammt das und auf
>>>welcher offiziellen Perl-Version basiert das? Ist das vielleicht ein
>>>5.004_05? Was sagt 'perl -V'?
>>
>>Genau die Version ist es (fast). Ich ging davon aus, das es sich=20
>>um eine alte Schreibweise für 5.4.55 handelt.
>=20
>=20
> Perl 5.004 ist über 6 Jahre alt.
> Ich denke mal, selbst wenn das ein Bug in der Software sein sollte
> (weiss aber gar nicht, ob Perl das damals schon Lokalisierung in der
> heutigen Form unterstützt haben will), dann ist das Interesse an der
> Beseitigung wohl eher gering. Nimm einfach eine etwas jüngere Version=

>=20

Funktioniert aber ganz gut. Ich sehe hier den Vorteil darin, daß
ich nicht 'versehentlich' eine neue Funktionalität benutze, welche=20
bei den Versionen meiner Kunden gar nicht vorhanden ist. Wenn ich=20
irgendeine Funktionalität zwingend benötige, kann ich meine=20
Entwicklungsumgebung auf eine andere Version ändern und im=20
Programm diese Version als Mindestvoraussetzung einbringen und=20
auch testen.
Kennst Du vielleicht eine Perl Version für OS2 die mit den meisten=20
CPAN Modulen einwandfrei zusammenarbeitet?

schönen Gruß aus dem Bergischen Land
Robert

Re: Zahl mit zwei Nachkommastellen

am 16.10.2005 15:27:26 von Michael Diekmann

Robert Berghaus wrote in news:c1.2bm.2yNNpL
$LPN@RoBe-TPA31p.robe-edv.de:

> Das war kein Skript sondern auf der Kommandozeile (jetzt mal aus
> dem Gedächtnis):
> perl -e 'use locale; printf("%.2f\n", 5.6);'
>
> Auch wenn ich $ENV{'LANG'} vorher auf 'de_DE' setze, klappt es nicht.

Also ich nutze das folgend in einem Script:

use locale;
setlocale(LC_ALL, 'de_DE');

Es gibt auch noch andere als LC_ALL, einfach mal perldoc locale
anschauen.

Re: Zahl mit zwei Nachkommastellen

am 17.10.2005 12:07:31 von Robert Berghaus

Michael Diekmann wrote:
> Robert Berghaus wrote in news:c1.2bm.2yNNpL
> $LPN@RoBe-TPA31p.robe-edv.de:
>=20
>=20
>>Das war kein Skript sondern auf der Kommandozeile (jetzt mal aus=20
>>dem Gedächtnis):
>>perl -e 'use locale; printf("%.2f\n", 5.6);'
>>
>>Auch wenn ich $ENV{'LANG'} vorher auf 'de_DE' setze, klappt es nicht.
>=20
>=20
> Also ich nutze das folgend in einem Script:
>=20
> use locale;
> setlocale(LC_ALL, 'de_DE');
>=20
> Es gibt auch noch andere als LC_ALL, einfach mal perldoc locale=20
> anschauen.

setlocale gibt es unter Perl 5.6 noch nicht. Es hat sich _für=20
mich_ bewährt, nicht immer nur das allerneueste zu nehmen.

Re: Zahl mit zwei Nachkommastellen

am 18.10.2005 12:27:16 von Christian Lackas

* Robert Berghaus [2005-10-17]:

Hallo Robert,

> > Also ich nutze das folgend in einem Script:
> > use locale;
> > setlocale(LC_ALL, 'de_DE');
> setlocale gibt es unter Perl 5.6 noch nicht. Es hat sich _für
> mich_ bewährt, nicht immer nur das allerneueste zu nehmen.

doch, setlocale(3) gibt es seit 4.4BSD und ist sogar Teil von ISO C99
und wird von Perl seit zig Jahren über das POSIX-Modul unterstützt.
Obiger Code ist allerdings nicht vollständig, es fehlt noch der Import:

use POSIX qw'setlocale LC_ALL';

Das 'use locale' ist desweiteren für das Problem hier überflüssig.

Gruss
Christian


--
Man soll keine Dummheit zweimal begehen, die Auswahl ist
schließlich groß genug.
(Jean-Paul Sartre, frz. Philosoph, 1905-1980)
http://www.lackas.net/ Perl Delphi Linux MP3 Searchengines Domainchecker