hallo
Also gut: Die Daten werden aus dem Windows Filesystem gelesen. Du kannst dir vorstellen, dass die Mehrheit der Dateinamen via Filemanager definiert wurden.
Ich kann mir so Einiges vorstellen. Du hast hier gepostet, daß readdir die Oktetten D794D7A6EFA29540E282AC2E747874
liefert und ich habe Dir dazu die richtigen Codepoints berechnet:
$, = "\n";
my $hexi = 'D794D7A6EFA29540E282AC2E747874';
my @octs = map{ hex $_ } @{[ $hexi =~ /\w\w/g ]};
my $raw = pack "C*", @octs;
my $utf8 = decode_utf8($raw);
print "Oktetten:\n", @octs, "Codepoints:\n", unpack "U*", $utf8;
Das gibt aus
Oktetten:
215
148
215
166
239
162
149
64
226
130
172
46
116
120
116
Codepoints:
1492
1510
63637
64
8364
46
116
120
116
Was auch mit dem übereinstimmt, was Du hier kommuniziert hast.
Aber ein ursprünglicher Dateiname äöü@€.txt
wie Du behauptest, will da einfach nicht dazu passen. Das kann ich nur nachvollziehen, wenn ich Deinen gesamten Code sehe.
Offensichtlich jedoch willst Du das nicht und ziehst es vor, mit mir rumzustreiten.
Troll Dich!