Jim has asked for the wisdom of the Perl Monks concerning the following question:

Is File::Find Unicode-(Conformant|Compliant|Enabled|Capable)? In particular, does it work on Microsoft Windows and NTFS, which are Unicode (UTF-16LE)?
  • Comment on Is File::Find Unicode-(Conformant|Compliant|Enabled|Capable)?

Replies are listed 'Best First'.
Re: Is File::Find Unicode-(Conformant|Compliant|Enabled|Capable)?
by Anonymous Monk on Jun 07, 2010 at 04:09 UTC
    File::Find uses perl's built-in functions, and no, they don't work with unicode on win32 anymore.

    It should be possible to override opendir/readdir/open to use Win32::Unicode

      Too bad. A lot of stuff in the Perl literature says "use File::Find", but you can't use it if you have a file name that isn't in English or another Western European language, or happens to have an EM DASH in it. So there's no easy way to use Perl for simple recursive file handling stuff on Microsoft Windows and NTFS.
        So there's no easy way to use Perl for simple recursive file handling stuff on Microsoft Windows and NTFS.

        Sure there is. File::Find will return short names (like 0CA1~1.TXT) and you can then use Win32::GetLongPathName to get the unicode version ( like ћевап.txt )