阅读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!
至于最佳实践,我会说使用更具可读性的东西.