
标量数据
|
43
在实践中,建议用
say
,因为按键次数少,效果好。但在本书中,我们仍将延续使
用
print
,让还在使用
5.8
版的读者可以直接运行示例程序。
字符串中的标量变量内插
一般我们用双引号圈引字符串,是希望把其中的变量替换为变量当前的内容,从而成
为新的字符串。这个转变的过程我们称之为变量内插,来看示例:
$meal = "brontosaurus steak";
$barney = "fred ate a $meal"; # $barney
变为
"fred ate a brontosaurus steak"
$barney = 'fred ate a ' . $meal; #
效果相同的另一种写法
正如上面最后一行所示,不用双引号一样可以得到相同结果,但就书写和可读性来
说,显然不如变量内插的方式直观方便。变量内插有时候也被称作双引号内插,因为
只有在双引号内部才可以这么做,在单引号中不行。
Perl
里面还有其他内插方式,之
后我们会逐一介绍。
如果标量变量从未被赋值,内插时将使用空字符串替换:
$barney = "fred ate a $meat"; # $barney
变为
"fred ate a "
稍后在本章介绍空值
undef
的时候,将看到更多类似的情况。
如果内插时单单就是变量本身,不写双引号当然也行:
print "$fred"; #
多余的双引号
print $fred; #
合理写法
形式上,在单个变量两边加上双引号表示变量内插并不算错,但既然不是要构造更长