区别一:
单引号除了反斜字符和单引号外,单引号内所有字符都代表它们自己,比如“\t \n”都是代表字符串本身,即单引号内的\n并不是换行符,而是表示字面上的两个字符;
而双引号中的反斜线更为强大,可以转义许多控制字符,双引号中“\t \n”分别代表水平制表符和换行;
print 'hello world \t \n';
print "hello world \t \n";
结果:
hello world \t \n hello world
区别二:
双引号支持变量内插,即会将字符串内的变量名称替换成该变量当前的值,而单引号不支持该特性,直接将当成字符串出来。
my $string = "china";
print ' hello world $string ';
print "\n hello world $string";
结果:
hello world $string hello world china
当perl进行检查变量名称时,它可能会违背你的意愿,会将后面的字符串当做变量的一部分,导致运行结果不符合预期;避免歧义的办法之一是用一对花括号将变量名包围起来。例如:
my $fruit = "apple";
print "there are five ${fruit}s";
perl 中的单引号和双引号:
(1)双中有双,单中有单都需要 \ 转义。
(2)双中有单或单中有双均不需要转义。
(3)单引号直接了当,引号内是什么就显示什么,双引号则需要考虑转义或变量替换等。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!