my $mind = ( \'a\', \'little\', \'confused\' );
And it\'s because perldoc perlfaq4 explains the line above as follows (emphasis added):
Just ask Perl!
>perl -MO=Concise,-exec -e"my $s = ($x, $y, $z);"
1 <0> enter
2 <;> nextstate(main 1 -e:1) v:{
3 <0> pushmark v
4 <#> gvsv[*x] s
5 <#> gvsv[*y] s
6 <#> gvsv[*z] s
7 <@> list sKP <--- list in (s)calar context.
8 <0> padsv[$s:1,2] sRM*/LVINTRO
9 <2> sassign vKS/2
a <@> leave[1 ref] vKP/REFC
So yes, one can have a list in scalar context.
One cannot return a list in scalar context. (Well, it is possible from XS, but the program will crash, probably with a "Bizarre copy" error.)
It can't be any other way. If there was a distinct list op and comma op, it would be impossible to compile the following:
sub f { "a", "b", "c" }
Would that result in a list op or a comma op? In reality, there is no such distinction, so yes, it results in that op.