0

我在这里阅读了几篇关于获取错误消息的帖子 -

在 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 编程需要区分带或不带单引号的空格是否有任何“原因”?抱歉,但对于非计算机科学的人来说,这似乎有些微不足道。

4

1 回答 1

3

' 样式引号使用反斜杠转义 ' 字符。

所以:print '\''; 将打印 ' 字符,而不是 \' 字符串。

当您打印 'whatever\ ' - 它将打印 >whatever < - 最后带有空格。但如果你这样做:

print 'whatever \'

这不是终止的字符串,因为反斜杠转义了 '. 因此,以下内容, "\n";被视为 '' 字符串的一部分。

于 2013-02-12T21:51:52.823 回答