1 つの perl アプリケーションの作業を開始したところです。vs - ポータブルな方法で (正しく) 対処する方法についてアドバイスが必要です。unicode filenames
filenames in the file content
Windows と Unix の世界では異なる Unicode エンコーディング (Unix utf8、Windows - 不明) が使用されていますが、Linux と Mac OS X ではファイル名の Unicode 正規化が異なります。(OS X - 強制的な NFD、Linux - 「通常の」NFC)。
私がすでに読んだすべてのアドバイスは次のとおりです:(常にアプリケーションの境界でユニコードデータを正規化します)-しかし、問題は-何が正しいか-最も移植性の高い方法ですか?
問題は、コンテンツに NFC を使用する OS X (テキスト ファイルの作成時) よりもです。他のシステムが何を使用しているかはわかりません。
質問、ポータブルアプリを作成し、ファイル名を処理する正しい方法は何ですか:
- opendir/readdir
- glob および同様の「ファイル操作」
- テキストファイル (ファイル名を含むもの)
- perl 内部...
- 他の?
正規化はいつ、どこで行われますか? コンテンツにファイル名が含まれているutf8テキストファイルを保存する方法は?
私は知っています、これはすでに StacOverflow にある多くの perl-unicode 関連の質問です。私はおそらくそれらのほとんどを掘り下げましたが、上記の質問リストを処理するための「推奨される」プラクティスが何であるかをまだ理解していません。
特定のオペレーティング システムの違いに対処するためにモジュールを作成する必要がありますか? または、ファイル操作の OS の違いを処理する CPAN モジュールが既にありますか?)
誰かが推奨されるプラクティスを含む優れたリソースを教えてもらえますか? それとも、私が今思うよりずっと簡単ですか?