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

区别一:

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

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

print 'hello world  \t \n';

print "hello world  \t \n";

结果:

这里写图片描述

区别二:

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

my $string = "china";

print '  hello world $string ';

print "\n hello world  $string";

结果:

这里写图片描述

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

my $fruit = "apple";
print "there are five ${fruit}s";
posted @ 2017-11-30 23:55  小怪兽&奥特曼  阅读(617)  评论(0编辑  收藏  举报