閱讀perl的來源,我看到很多次的未來建設:使用引號樣運營商或報價在Perl中的printf
printf qq[%s\n], getsomestring($_);
但通常它寫成
printf "%s\n", getsomestring($_);
問題:
- 在這裏是什麼「好習慣」什麼是正確的方法,如果是的話
- 何時推薦使用較長的
qq[...]
而不是"..."
- 或者它只是純粹的TIMTOWTDI?
perlop沒有提到這方面的任何內容。
閱讀perl的來源,我看到很多次的未來建設:使用引號樣運營商或報價在Perl中的printf
printf qq[%s\n], getsomestring($_);
但通常它寫成
printf "%s\n", getsomestring($_);
問題:
qq[...]
而不是"..."
perlop沒有提到這方面的任何內容。
您可以使用qq()
作爲替代的雙引號方法,例如在字符串中有雙引號時。例如:寫的時候
qq("foo bar")
當運行cmd shell窗口,它使用雙引號,我經常使用qq()
當我需要插
"\"foo bar\""
看起來更好。例如:
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!
至於最佳做法,我會說使用任何更可讀的。
我總是用qq[...]
當有字符串引號,例如:
qq["here you are", he said]
如果沒有,對我來說是更具可讀性使用""
我喜歡把'」 ...... 「'''''...''和'\'... \''作爲'qq」...「','q'...」和「qx」的快捷方式... \''。 – 2013-05-06 17:48:37