Siechfred: Windows-Eingabeaufforderung: Codepage manipulieren

Beitrag lesen

Klasse, jetzt hat es geklappt.

Freut mich.

Ich weiß nicht, ob das Script nur für Deinen Hausgebrauch ist, ansonsten kannst Du via Win32::Console die aktuelle Codepage auslesen und auch ändern. Denn um Dein Programm unter allen Win32-Installationen lauffähig zu halten, wäre es m.E. angebracht, vor dem Einlesen von STDIN die Codepage explizit zu setzen, die Dein Programm erwartet:

use strict;  
use Win32::Console;  
  
my $defaultCP = Win32::Console::InputCP();          # holen der aktuellen Einstellung  
Win32::Console::InputCP(850) if $defaultCP != 850;  # Setzen von CP850, wenn erforderlich  
# hier das STDIN-Gedöns  
Win32::Console::InputCP($defaultCP);                # Rücksetzen auf voreigestellten Wert

Für Ausgaben in die Konsole gibt es übrigens das Gegenstück Win32::Console::OutputCP(), das auf die gleiche Art funktioniert.

Siechfred

--
Hinter den Kulissen passiert viel mehr, als man denkt, aber meistens nicht das, was man denkt.