在过滤我想要包含的文件列表后,我需要创建一个 Zip 存档。最好我希望该模块在 Windows 和 Linux 中都可以工作。
由于我需要过滤文件列表,我真的不想使用外部程序。我也不想引入外部依赖项,这样我就可以将脚本编译成 Windows 上的单个可执行文件(使用ActiveState PDK)。
我已经尝试过的
到目前为止,我一直使用在CPAN上找到的Archive::Zip ,但它在使用非 ASCII 文件名的 Windows 机器上存在一个重大错误:文件名在存档中被损坏,因为它们没有被翻译成 unicode。
有一个错误报告为此提交,但它已经超过 10 个月没有更新,并且在模块文档中,开发人员相当无益(“修复您的计算机或摆脱 Windows”类型)。
更新:
感谢 brian 和 Alan Haggai Alavi 的澄清,似乎已经投入了足够的精力Archive::Zip
来尽快解决这些错误,并最终在 Windows 中拥有一个功能齐全的 zip 模块。