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.
Hinter den Kulissen passiert viel mehr, als man denkt, aber meistens nicht das, was man denkt.