换行问题导致文件损坏

时间:2015-06-25 14:13:26

标签: windows perl file-io line-breaks

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

  

错误:XXX文件已损坏,CR找到了。可能的原因是文件行结尾   从Unix翻译成CR + LF格式

当我通过单击超链接手动下载文件并使用Windows提取方法解压缩时,没有看到这样的错误。有人可以解释为什么会发生这种情况吗?无论如何我们可以使用某些工具/应用程序访问损坏的文件吗?

1 个答案:

答案 0 :(得分:1)

LWP ::简单getstore准确地将所写内容写入磁盘。

您的浏览器会破坏"腐败"文件。如果你希望执行相同的"腐败"作为您的Web浏览器,即如果您希望将DOS行结尾转换为unix行结尾,则可以使用命令行实用程序dos2unix

或者你可以修改你的Perl脚本,不用存储,转换行结尾,并存储转换后的结果。