我正在通过 Perl 中的 Net::FTP(在 Windows 上生成)将逗号分隔文件(ASCII 格式)发送到基于 Linux 的 FTP 帐户。问题是我在 linux 端的文件在每一行的末尾都有 ^M 。我知道我可以通过调用 该文件上的 dos2unix"命令,但如何删除 Windows 端的 ^M,以便我首先发送正确的文件。
我尝试执行以下操作,但这不会影响 linux 端的文件。
$content =~ s/^M//g;
最佳答案
如果你有“^”,“M”,那么 s/\^M//g 就可以了。 (“^”在正则表达式模式中很特殊。)如果您有 CR,则 s/\r\n/\n/g(或只是 s/\r//g)会起作用。
如果两者都不起作用,请提供您的数据文件的一部分“od -c”。
关于linux - 如何从 Windows 发送到 perl 中的 Linux FTP 服务器的 w 文件中删除 ^M (CRLF)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5046172/