换行符在perl中被视为空格吗
考虑一下这个perl单行程序换行符在perl中被视为空格吗,perl,Perl,考虑一下这个perl单行程序 perl -e "$\=qq{\n};$/=qq{ };while(<>){print;}" "perl.txt" > perlMod.txt perlMod.txt的内容包括 a b c perlMod.txt的十六进制内容如下 61200D0A620D0A630D0A 请注意,我已将空格指定为输入记录分隔符,“\n”指定为默认的输出记录分隔符。我希望在b之后有两个'0D0A's(十六进制62)。一个0D0A是b之后的新行。另一个0D0A属
perl -e "$\=qq{\n};$/=qq{ };while(<>){print;}" "perl.txt" > perlMod.txt
perlMod.txt的内容包括
a
b
c
perlMod.txt的十六进制内容如下
61200D0A620D0A630D0A
请注意,我已将空格指定为输入记录分隔符,“\n”指定为默认的输出记录分隔符。我希望在b之后有两个'0D0A's(十六进制62)。一个0D0A是b之后的新行。另一个0D0A属于输出记录分隔符。为什么只有一个0D0A。您似乎认为即使更改了输入记录分隔符,
仍将停止换行读取
您的输入包含
61 20 62 0D 0A 63
或a␠B␍␊c
第一次读取读取a␠代码>
您可以打印a␠代码>
为此,添加了$\
,给一个␠␊代码>
然后:crlf
进行翻译,给出一个␠␍␊代码>
文件中没有其他空格,因此第二次读取将读取文件的其余部分:b␍␊c
然后:crlf
进行翻译,给出b␊c
您可以打印b␊c
为此,添加了$\
,给出了b␊C␊代码>
然后:crlf
进行翻译,给出b␍␊C␍␊代码>
因此,总的来说,您得到了a␠␍␊B␍␊C␍␊
或61 20 0D 0A 62 0D 0A 63 0D 0A
您似乎认为即使更改了输入记录分隔符,
仍将停止换行读取
您的输入包含61 20 62 0D 0A 63
或a␠B␍␊c
第一次读取读取a␠代码>
您可以打印a␠代码>
为此,添加了$\
,给一个␠␊代码>
然后:crlf
进行翻译,给出一个␠␍␊代码>
文件中没有其他空格,因此第二次读取将读取文件的其余部分:b␍␊c
然后:crlf
进行翻译,给出b␊c
您可以打印b␊c
为此,添加了$\
,给出了b␊C␊代码>
然后:crlf
进行翻译,给出b␍␊C␍␊代码>
因此,总的来说,您得到了a␠␍␊B␍␊C␍␊代码>,或61 20 0D 0A 62 0D 0A 63 0D 0A
是。虽然我改变了输入记录分隔符,但我想我会在新行停止阅读。这也意味着,如果我将$/设置为空格以逐字阅读,我将不得不担心“一行结束的单词\n下一行第一个单词”会被算作“单词”。谢谢你指出这个。是的。虽然我改变了输入记录分隔符,但我想我会在新行停止阅读。这也意味着,如果我将$/设置为空格以逐字阅读,我将不得不担心“一行结束的单词\n下一行第一个单词”会被算作“单词”。谢谢你指出这一点。
61200D0A620D0A630D0A