基本插值

插值意味着 Perl 解释器将替换变量值作为其名称和一些符号(不可能或难以直接键入)用于特殊字符序列(也称为转义)。最重要的区别在于单引号和双引号:双引号内插封闭的字符串,但单引号则不插入。

my $name = 'Paul';
my $age = 64;
print "My name is $name.\nI am $age.\n"; # My name is Paul.
                                         # I am 64.

但:

print 'My name is $name.\nI am $age.\n'; # My name is $name.\nI am $age.\n

你可以使用 q{}(使用任何分隔符)而不是单引号和 qq{} 而不是双引号。例如,q{I'm 64} 允许在非插值字符串中使用撇号(否则它将终止字符串)。

声明:

print qq{$name said: "I'm $age".}; # Paul said: "I'm 64".
print "$name said: \"I'm $age\"."  # Paul said: "I'm 64".

做同样的事情,但在第一个你不需要转义字符串中的双引号。

如果你的变量名称与周围文本冲突,你可以使用语法 ${var} 消除歧义:

my $decade = 80;
print "I like ${decade}s music!"  # I like 80s music!