换行问题导致文件损坏

line break issue caused file corruption

我使用 perl 脚本中的 getstore() 函数从服务器下载了一个 zip 文件,并使用 Unzip 方法解压缩了该文件。现在,如果我尝试访问该文件,我会看到以下错误。

ERROR:XXX file corrupted, CR found. Likely cause is file line endings translated from Unix to CR+LF format

当我通过单击 hyper-link 手动下载文件并使用 windows 提取方法解压缩时,没有看到这样的错误。有人可以解释为什么会这样吗?无论如何我们可以使用一些tool/application访问损坏的文件?

LWP::Simple 的 getstore 将收到的内容准确写入磁盘。

您的浏览器就是 "corrupting" 文件。如果您希望执行与 Web 浏览器相同的 "corruption",即如果您希望将 DOS 行结尾转换为 Unix 行结尾,您可以使用命令行实用程序 dos2unix

或者您可以修改您的 Perl 脚本以在不存储的情况下获取、转换行尾并存储转换后的结果。