Mysql入门系列:Perl DBI基础(2)
2006-12-31 10:49:46 来源:WEB开发网核心提示: Perl 和MySQL都允许用单引号或双引号引用字符串,所以混合使用引用字符有时可以避免这种无法引用引用字符自身的情况:然而,Mysql入门系列:Perl DBI基础(2)(6),在Perl 中,这两种类型的引号并不等价,例如,‘)’出现在所显示的INSERT 语句
Perl 和MySQL都允许用单引号或双引号引用字符串,所以混合使用引用字符有时可以避免这种无法引用引用字符自身的情况:
然而,在Perl 中,这两种类型的引号并不等价。只有在双引号内部才解释为变量引用。因此,当想通过在查询字符串中嵌入变量引用来构造查询时,单引号并不是非常有用的。例如,如果$var 的值为14,则下面的两个字符串并不等价:
两个字符串的解释如下所示;显然,第一个字符串与希望传递给MySQL服务器的内容更为相像:
用双引号来引用字符串的另一个选择是使用qq{} 结构,它告诉Perl 在‘q q {’和‘}’之间的每个字符都要看作为双引号括起的字符串(两个q 表示“双引号”)。例如,下列两行是等价的:
使用qq{} 时,构造查询不用过多考虑引号的问题,因为可以在这个查询字符串内自由地使用引号(单引号或双引号),而不用避开它们。此外,还解释了变量引用。qq{} 的这两种特性可用下面的INSERT 语句来说明:
不一定使用‘ {’和‘ }’作为qq 的分隔符。其他格式,如qq( ) 和q q / /,也可以使用,只要封闭的分隔符不出现在字符串内即可。我喜欢用q q { },因为‘ {’不像‘)’或‘/’会出现在查询的文本内,并且在查询字符串的结尾也可能有问题。例如,‘)’出现在所显示的INSERT 语句的内部,所以qq( ) 对于引用查询字符串来说不是一个有用的结构。
更多精彩
赞助商链接