in reply to Re^2: 5.10 smart match behaviour
in thread 5.10 smart match behaviour

Oop, quite right.

My constant stand-ins were using qw// directly which was behaving comma-like in imposed scalar context rather than passing through another layer (as happens with constant where the args get packaged up into an array and then turned into sub () { @list } which instead behaves like one would expect an array evaluated in scalar context imposed by the caller). More precise would have been "a sub whose return value is a list generated via qw// called in a scalar context", but that's not what he had due to how constant works now so he instead had "a sub whose return value is an array called in a scalar context".

In either case they're both a single scalar value neither of which ('c' nor 3) match.

The cake is a lie.
The cake is a lie.
The cake is a lie.