在perl中,稍不注意就会错误使用单引号和双引号。
举下列例子:
#!/usr/bin/perl -w
$name = qq(hzh);
print '单引号输出:my name is $name'."\n";
print '-'x20,"\n";
print "双引号输出:my name is $name\n";
print '-'x20,"\n";
@a = qw(a b c);
for($i = 0; $i < $#a; $i++){
print $a[$i],'\n';
}
print '-'x20,"\n";
for($i = 0; $i < $#a; $i++){
print $a[$i],"\n";
}
#!
运行结果如下:
xy@ubuntu:~/perl代码$ perl 单引号与双引号
单引号输出:my name is $name
--------------------
双引号输出:my name is hzh
--------------------
a\nb\n--------------------
a
b
第一次和第三次用的是单引号,直接就输出内容,没有进行内插操作。
第二次和第四次用的是双引号,则进行了内插操作。
从上面的例子可以看出:单引号内容只会按照原样输出,不会考虑其中的变量,转义符等等情况。双引号则会考虑。
所以我们尽量的使用双引号,避免不被内插和转义的情况发生。