In Windows there is a common problem: the filenames should be converted to local codepage, before they are passed to open()
. Of course, there is a possibility to use Win32::API
for that, but I don't want my script to be platform-dependent. At the moment I have to write something like:
open IN, "<", encode("cp1251", $filename) or die $!;
but is there any library, that hides these details? I think the local codepage can be automatically detected, so I just want to pass unicode filename and forget about the details. Why is it still not in the box?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…