クォート演算子 qw//

単語リストをクォートする

構文

解説

[Perlop の翻訳です]

qw// は、ホワイトスペースを単語の区切りとして使って STRING から抽出した単語リストを評価します。 これは、おおむね次のコードと同じと理解できます:

split(" ", q/STRING/);

STRING が ASCII のホワイトスペースで分離するという違いは、コンパイル時に実際のリストを生成します。 そして、スカラーコンテキストでは、リストの最後の要素を返します。そのため、この式は:

qw(foo bar baz)

意味的には次のリストと同等です:

"foo", "bar", "baz"

次のような使い方をよく見かけます:

use POSIX qw( setlocale localeconv )
@EXPORT = qw( foo bar baz );

カンマで単語を分割しようとしたり、複数行の qw 文字列にコメントを入れたりするミスが良くあります。 このような理由から、use warnings プラグマと -w スイッチ(つまり $^W 変数)は、 STRING",""#" 文字が含まれていると警告を生成します。