在此处阅读有关收到错误消息的几个帖子 - 在EOF之前的任何地方都找不到字符串终结符... 在EOF之前的任何地方都找不到字符串终止符“'”
不要以为我真的理解它,虽然带回家的消息不是使用单引号。 好吧,我会尽量不使用单引号。但是,如果可能的话,有人可以帮我理解两个脚本之间的差异,就Perl如何看待它们而言
#!/usr/bin/perl -w
#backwhacking
print "c:\\WINNT\\Profiles\\\n";
print 'c:\WINNT\Profiles\ ', "\n";
#!/usr/bin/perl -w
#backwhacking
print "c:\\WINNT\\Profiles\\\n";
print 'c:\WINNT\Profiles\', "\n";
第一个脚本与输出
运行良好c:\WINNT\Profiles
c:\WINNT\Profiles
而第二个脚本给了我相同的错误代码,关于无法找到脚本终结符“'”
有没有“理由”为什么perl编程需要区分是否有单引号的空格?对不起,但对于非comp sci人来说似乎有些微不足道。
答案 0 :(得分:3)
'样式引号使用反斜杠来转义'character。
所以:print '\''
;将打印'character,而不是\'字符串。
当你打印'不管'时 - 它会打印>无论什么< - 最后有空间。但如果你这样做:
print 'whatever \'
这不是终止字符串,因为反斜杠转义'。因此,以下, "\n";
被视为''字符串的一部分。