print FILEHANDLE;
-当从Windows框运行时 - 总是将尾随n
转换为rn
- 产生DOS格式的文件。 DOS 和 UNIX 文件之间的区别在于,在 UNIX 中,每行的最后一个字符是 ,而在 Windows 中是rn
。 我尝试更改行终止字符$ = "n";
但打印命令仍然转换为DOS格式。 这只发生在Windows盒子上。
如果你不喜欢 Perl 决定输出数据的方式,你可以改变它。在三参数open
中,它看起来像这样:
open my $fh, '>:raw', $filename;
或者,如果您已经有文件句柄,则可以使用binmode
:
binmode $fh, ':raw';
binmode $fh; # :raw is the default
输出取决于各种IO"层",每个"层"在输出之前都会将脏手指伸入您的数据中。Perlio 文档有列表。有一个:crlf
层可以打开 unix 行尾,默认情况下你可能会得到它。请注意,更改输出记录分隔符是在print
级别发生的,但还有更深的层仍然可以完成其工作。