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: split(" ", q/STRING/); the differences being that it generates a real list at compile time, and in scalar context it returns the last element in the list. So this expression: qw(foo bar baz) is semantically equivalent to the list: "foo", "bar", "baz"