1)单引号:single quote
e.g.
print'IMISSYOU"SOMUCH"';
它将单引号中的内容包括Perl双引号完整输出,同时即使引号中包含了变量或标量,都将被作为字符处理,如下
单引号里面可以包含双引号,并且可以包含变量。变量不取变量值。
$a=5;
print'$a';
结果将输出$a。
2)Perl双引号 double quotes
如果用下面的语句
print"IMISSYOU"SOMUCH"";
解释器讲提示错误,而下句
print"IMISSYOU\"SOMUCH\"";
通过反斜杠转义之后就可以输出IMISSYOU"SOMUCH"。
双引号字符串中出现双引号就要用反斜杠(backslash)标出,才能正常显示。
3)q,qq
当字符串中包含很多引号时,对引号进行转移时,键入字符串就会很困难,在Perl中有另外一个引号机制,即q和qq运算符,q取代了单引号,qq取代了Perl双引号;
printq(IMISSYOU"SOMUCH");
printqq(IMISSYOU"SOMUCH");
输出结果都将是IMISSYOU"SOMUCH",同时,qq和q运算符可以使用任何非字母、非数字字符来标记字符串的开始和结束,但必须配对出现。
printq/IMISSYOU"SOMUCH"/;
4)Perl双引号起了空格的作用
刚才练习sort函数对数组排序时发现怎么着都不好让它个空个空格出来,但无意中发现Perl双引号就自动将输出的值以空格划分了,可能是我刚知道而已,写下来给自己个提醒。
@number=qw(14232567457890);
@sorted=sort{$a<=>$b;}@number;
print"@number\n";
print"@sorted"。
下面是翻译 programming perl
double-quoted string literals are subject to backslash and variable interpolation;
双引号主要倾向于 反斜杠 和 变量的插入。(双引号中带双引号必须用反斜杠标出,变量会用变量值代替)
single-quotedstrings are not (except for \' and \\, so that you can put single quotes and backslashes into single-quotedstrings).
点引号不希望有\' \\ 等字符,你可以在单引号字符串中直接用单引号和反斜杠。