• ベストアンサー

qqと""の違いは?

qqと""の違いは何でしょうか? この二つは同じものなのでしょうか?使ってみた感じ特に違いはわからないのですが。

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

あんまり詳しいわけではない(インプリメンターでもない一般人なので)ですが、、 ""は、構文要素で、文字列をあらわすためのもので、 qqは、関数として機能し、ダブルクォートされたとして文字列を作成するものです。 違いとしては、 qq(quart sample "quarting string"); みたいにそのまま「"」を含められることですかね

tochanx
質問者

お礼

qqが関数として機能するということは、 パフォーマンス?としては""で括った方が効率が良いということはあるのでしょうか? どうもありがとうございました。

その他の回答 (2)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.3

>パフォーマンス?としては""で括った方が効率が良いということはあるのでしょうか? どうなんでしょう、私にはよくわかりません。 Perlは、いったん内部表現にコンパイルされるので、その時点で同じになるのかもしれません。

tochanx
質問者

お礼

補足どうもありがとうございました。

  • moon_night
  • ベストアンサー率32% (598/1831)
回答No.2

qqの場合、任意の文字を括る文字として使えます。 例えば qq|文字列|; や qq/文字列/; などです。 くくり文字を文字列に含める場合はエスケープが必要です。qq |文字\|文字|; 変な話、qでも括れます。 qq q文字列q; 通常の文字列だと同じ文字で閉じますが、 括弧を括り文字として使用する場合は始めの括弧と終わりの括弧を使用します。qq(文字列); 基本的な役割は""と変わりありません。 "を入れる場合は重宝します。

tochanx
質問者

お礼

どうもありがとうございます。 なるほど、""をエスケープせずに含むことができるんですね。 これは便利です。

関連するQ&A