Forums Neueste Beiträge
 

Ausgabe per warn()

02/03/2011 - 15:44 von Frank Seitz | Report spam
Hallo,

folgendes Programm (Umlaute in ISO-8859-1):

#!/usr/bin/env perl

use strict;
use warnings;
use open ':locale';

my $str = 'àöüß';
print "$str";
print STDERR "$str";
warn "$str";

# eof

Ausgabe auf Terminal (en_US.UTF-8):
àöüß
àöüß
???

Woher kommt der Unterschied zwischen "print STDERR" und "warn"?
Was muss ich tun, damit die Ausgabe auch bei warn() funktioniert?

Grüße
Frank
Dipl.-Inform. Frank Seitz
Anwendungen für Ihr Internet und Intranet | Web-, Datenbank-, Unix-Development
Tel: +49 (0)4103/180301, Fax: -02, Industriestr. 31, D-22880 Wedel

Blog: http://www.fseitz.de/blog
 

Lesen sie die antworten

#1 K. Wittrock
03/03/2011 - 12:53 | Warnen spam
Frank Seitz schrieb am 02.03.2011 :
Hallo,

folgendes Programm (Umlaute in ISO-8859-1):

#!/usr/bin/env perl

use strict;
use warnings;
use open ':locale';

my $str = 'àöüß';
print "$str";
print STDERR "$str";
warn "$str";

# eof

Ausgabe auf Terminal (en_US.UTF-8):
àöüß
àöüß
???

Woher kommt der Unterschied zwischen "print STDERR" und "warn"?
Was muss ich tun, damit die Ausgabe auch bei warn() funktioniert?



Bei mir sieht das unter Linux so aus:
:/gemeinsam/vonXP> perl umlaute.pl
àöüß
àöüß
\xE4\:/gemeinsam/vonXP>
Auch nicht schön. Unter Windows XP mit Codepage 1252 erhalte ich
U:\Klaus\Perl>Test\umlaute.pl
Cannot figure out an encoding to use at U:\...\umlaute.pl line 5
àöüß
àöüß
àöüß

U:\Klaus\Perl>
Vielleicht hilft dir die Fehlermeldung. Line 5 ist "use open
':locale';".

Gruß

Klaus

Meine Email-Adr. lautet
K<ohne_Punkt_und_Komma>Wittrock<Klammeraffe>web.de

Ähnliche fragen