qw/STRING/
-
Evaluates to a list of the words extracted out of STRING, using embedded whitespace as the word delimiters. It can be understood as being roughly equivalent to:
埋め込まれた空白を区切文字として、STRING から抜き出した単語のリストを 評価します。 これは、以下の式と大体同じと考えられます:
split(" ", q/STRING/);
the differences being that it only splits on ASCII whitespace, generates a real list at compile time, and in scalar context it returns the last element in the list. So this expression:
違いは、ASCII の空白でのみ分割し、実際のリストをコンパイル時に生成し、 スカラコンテキストではリストの最後の要素を返すことです。 従って、以下の表現は:
qw(foo bar baz)
is semantically equivalent to the list:
以下のリストと文法的に等価です。
"foo", "bar", "baz"
Some frequently seen examples:
よく行なわれる例としては以下のものです:
use POSIX qw( setlocale localeconv ) @EXPORT = qw( foo bar baz );
A common mistake is to try to separate the words with commas or to put comments into a multi-line
qw
-string. For this reason, theuse warnings
pragma and the -w switch (that is, the$^W
variable) produces warnings if the STRING contains the","
or the"#"
character.よくある間違いは、単語をカンマで区切ったり、複数行の
qw
文字列の中に コメントを書いたりすることです。 このために、usr warnings
プラグマと -w スイッチ (つまり、$^W
変数) は STRING に","
や"#"
の文字が入っていると 警告を出します。