在perl的printf中使用类似引号的运算符或引号

前端之家收集整理的这篇文章主要介绍了在perl的printf中使用类似引号的运算符或引号前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
阅读perl来源我多次看到下一个结构:

printf qq[%s\n],getsomestring( $_ );

但通常它写成

printf "%s\n",getsomestring( $_ );

问题:

>在这里任何“良好实践”的正确方法是什么,如果是的话
>建议何时使用更长的qq […] vs“…”
>或者它只是纯粹的TIMTOWTDI?

perlop没有提到这一点.

解决方法

您可以使用qq()作为替代双引号方法,例如在字符串中有双引号时.例如:

"\"foo bar\""

写作时看起来更好

qq("foo bar")

当在使用双引号的windows cmd shell中时,我经常在需要插值时使用qq().例如:

perl -lwe "print qq($foo\n)"

qq()运算符 – 像许多其他perl运算符,如s ///,qx() – 在演示时也很方便,因为它可以使用几乎任何字符作为其分隔符:

qq[this works]
qq|as does this|
qq#or this#

当你在字符串中有许多不同的分隔符时,这很方便.例如:

qq!This is (not) "hard" to quote!

至于最佳实践,我会说使用更具可读性的东西.

猜你在找的Perl相关文章