Hallo pl,
was von readdir bei Dir ankommt, das sind Bytes. Und zwar das ANSI-Encoding des Dateinamens aus dem Betriebssystem. Bewiesen einfach dadurch, das Beats decode mit CP1252 die gewünschte Wirkung hatte. Das ist ja gerade das Problem. Ein Dateiname an sich - wie jeder Name - hat niemals Bytesemantik. Weil ein Name aus Zeichen besteht.
Schreib Doch mal dein Testscript so, dass Du die Datei 'äöü@€.txt' in einem Temp-Ordner erzeugst und dann den Inhalt des Ordners mit readdir auflistet. Das habe ich in dem Code den Du bisher gezeigt hast noch nicht gesehen. Statt dessen das hier:
my @files = <*>;
foreach my $f( @files ){...}
Ist das eine andere Variante zum Verzeichnisinhalt auslesen (ich bin ja ein Anperlabet)? Wenn ja, wie verhält sich das Ergebnis dieses Code zu readdir? Wäre dieses <*> dann für Beat die bessere Lösung?
Rolf
sumpsi - posui - clusi