perl中单引号和双引号字符串区别

区别一:

单引号除了反斜字符和单引号外,单引号内所有字符都代表它们自己,比如“ ”都是代表字符串本身,即单引号内的 并不是换行符,而是表示字面上的两个字符;

而双引号中的反斜线更为强大,可以转义许多控制字符,双引号中“ ”分别代表水平制表符和换行;

print 'hello world  	 
';

print "hello world  	 
";

结果:

这里写图片描述

区别二:

双引号支持变量内插,即会将字符串内的变量名称替换成该变量当前的值,而单引号不支持该特性,直接将当成字符串出来。

my $string = "china";

print '  hello world $string ';

print "
 hello world  $string";

结果:

这里写图片描述

当perl进行检查变量名称时,它可能会违背你的意愿,会将后面的字符串当做变量的一部分,导致运行结果不符合预期;避免歧义的办法之一是用一对花括号将变量名包围起来。例如:

my $fruit = "apple";
print "there are five ${fruit}s";
原文地址:https://www.cnblogs.com/jinxiang1224/p/8468192.html