4

次の構築を何度も見た perl ソースを読む:

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

しかし、通常、それは次のように書かれています

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

質問:

  • ここに「良い習慣」はありますか?正しい方法は何ですか?
  • 長いqq[...]対の使用が推奨される場合"..."
  • それとも純粋なTIMTOWTDIだけですか?

perlopはこれについて何も言及していません。

4

2 に答える 2

6

qq()文字列に二重引用符がある場合など、代替の二重引用符メソッドとして使用できます。例えば:

"\"foo bar\""

書いたほうが見栄えがいい

qq("foo bar")

二重引用符を使用する Windows コマンド シェルでは、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!

ベスト プラクティスについては、より読みやすいものを使用することをお勧めします。

于 2013-05-04T07:38:59.183 に答える