in reply to scalar vs list context

qw(a b c) is a shorthand for ("a", "b", "c"). Note that this is not a list by itself; it's only a list when it's in list context. When assigning to a scalar, it's in scalar context, and then we have the comma operator in scalar context. The comma operator in scalar context evaluates its left hand side, discards it, and then returns the value of its right hand side.

If you run $x = qw(a b c); with warnings enabled, it will complain about constants a and b being used in void context.