Yes, in absence of any documentation to the contrary in https://perldoc.perl.org/perlop.html#Comma-Operator I would expect the operator to force scalar context. If it's a "back-compat thing," shouldn't it be highlighted in the documentation? Also, is there any reason the constructor can't do it if the operator doesn't? (I have to admit that I'm not even sure what the documentation for m// means when it says the search returns true or false, since Perl doesn't have explicit boolean values. Is assigning the return value to a scalar or passing it to a function not well-defined?) Thanks.