在阅读 Perl 源代码时,我经常看到以下的结构:
printf qq[%s\n], getsomestring( $_ );
但是通常它被写成这样
printf "%s\n", getsomestring( $_ );
问题:
有没有什么“最佳实践”是正确的方式,如果有的话
何时推荐使用更长的
qq[...]
而不是"..."
或者这只是纯粹的TIMTOWTDI?
< p > perlop没有提到这个问题。
您可以使用qq()
作为替代的双引号方法,例如在字符串中有双引号时。例如:
"\"foo bar\""
写得更好看
qq("foo bar")
在使用双引号的Windows命令提示符中,我经常使用qq()
进行插值。例如:
perl -lwe "print qq($foo\n)"
< p > qq()
操作符 -- 与许多其他的 Perl 操作符如 s///
, qx()
一样 -- 也很方便,因为它可以使用几乎任何字符作为分隔符:
qq[this works]
qq|as does this|
qq#or this#
当你的字符串中有许多不同的分隔符时,这非常实用。例如:
qq!This is (not) "hard" to quote!
当字符串中包含引号时,我通常使用qq[...]
,例如:
qq["here you are", he said]
""
,因为这样更易读。
"..."
、'...'
和\
...`看作是
qq"..."、
q'...'和
qx`...``的快捷方式。 - Brad Gilbert