in reply to ~~ and list literal
Please check perlop under the subheading
..It is also unique in that all other Perl operators impose a context (usually string or numeric context) on their operands, autoconverting those operands to those imposed contexts. In contrast, smartmatch infers contexts from the actual types of its operands and uses that type information to select a suitable comparison mechanism...
Moreover, using this
with use warnings in your script turn on, it would shout"Useless use of a constant (x),(y) in void context". Which shows you are inferring a void context using smartmatch like so.
print( "x" ~~ ("x", "y", "z") );
If you tell me, I'll forget.
If you show me, I'll remember.
if you involve me, I'll understand.
--- Author unknown to me