我想将say
与dos换行格式一起使用:
say "foo"
应显示foo\r\n
我尝试重新定义新的行变量,但它并没有改变任何内容
local $/="\r\n";
另一种解决方案是手动编写:
print "foo\r\n";
但是不太方便
答案 0 :(得分:7)
不要使用影响所有句柄的全局变量;使用
open(my $fh, '>:crlf', ...)
或
binmode($fh, ':crlf')
默认情况下,在Windows计算机上已经为您添加了 :crlf
,但是在open
中指定了它,或者尝试将其添加到已使用binmode
已经拥有它的句柄中赢了'伤了。