我正在编写一个Perl程序,将\ r \ n添加为200字节记录末尾的第201个和第202个字节。我试图这样做:
use constant REPORT_LINE_LEN => 200;
while(($rc = read $infile, $report_line, REPORT_LINE_LEN(), 0) != 0)
{
chomp $report_line;
$report_line .= "\r\n" . "\n";
print $outfile $report_line;
}
回车符^ M字符在201位置,我需要在202处的\ n,但似乎无法将其放在那里而不增加记录的长度超过202字节。我正在用vim验证^ M的位置,这表明该文件仍然是Unix格式。
我在那里搜索了很多来源,但我很难过。任何帮助将不胜感激,包括最后两个字节可能出现在vim中的方式。
我通过按'$'来确认vim中的记录长度到达行尾。现在,它说201.我也使用head -n 1 rmvtape.out | wc -c
来确认记录的长度,其中rmvtape.out
是包含这些记录的文件。长度为202
。
那么,在这种情况下,^ M在vim中是不可见的吗?
答案 0 :(得分:2)
$ report_line。=" \ r \ n" 。 " \ n&#34 ;;
您在此处添加了三个字符,例如\r
,\n
和另一个\n
。
省略最后\n
,一切都应该没问题,例如:
$report_line .= "\r\n";