No, it returns the value of the last expression, evaluated in the context the function was called in.
I know that, you know that, most of the others know that.
Where's the problem?For me, a list(!) of scalars with the
comma operator in between is a list. In english. To say
that my example sub returns a list (I could even say here
*every* sub returns a list) isn't saying anything
wrong. If there is no list at all in perl, then it's clear I
mean the english wort list. In my example I could also
say three scalars.
The point I want to make is whenever someone explains a
piece of code with "list in scalar context" then you can be
sure somebody who has too much time will correct them.
But they didn't have the time to
explain the piece of code in the first place.
When you're talking about code, do you always use that long definition with the comma operator? If there is no list
in perl, do you really *never* use this word when talking
about code? Come on. I want to know what's wrong with using
that word when explaining others the behavior of a piece
of code. Didn't you get my point about code vs. execution?
edit: or maybe your suggestion is, never use the word list, but use
comma operator. I'm not sure if it's the right thing to always say "sub x
returns the comma operator" when a) a list is a word that everybody understands
and b) a list is used as a synonym for comma operator, so it doesn't say
anything wrong. Couldn't we just say that? I never see where the
explanation "list in scalar context" is saying anything that is not true.