>>>>> "Chas" == Chas Owens <[EMAIL PROTECTED]> writes:

Chas> I emphasize again, that is how I _read_ it.  I know that there is no
Chas> array() and I know why, but that doesn't change how I read things.  This
Chas> hack forces the far left hand bit to return as a list (by making
Chas> wantarray return true) which then gets evaluated in scalar context,
>> 
>> No, that's what I'm saying CANNOT EXIST.

Chas> Yes, you are right, that was a slip of the keyboard, I meant that to say
Chas> array instead of list.  But I must ask if you are being purposefully
Chas> obtuse.  The list assignment operator forces wantarray to to return true
Chas> which is what most people would want a mythical array() function for in
Chas> the first place, hence my -- again I stress -- _reading_ of () as
Chas> array().  I am not claiming that it _is_ array(), but that I find it
Chas> helpful to _think of it as_ array() in this context.   

No, it's not working that way.  It works because of two steps here.
The operator

   ($list, $of, $things) = LIST_CONTEXT

forces its right side to list context.  Thus, you get the list
behavior of /\s/g and it spits out all the matches.

Next, the scalar value of the list assignment operator is the number
of items copied across.  But this is because of the property of a list
assignment operator in a scalar context.  It's not a list in a scalar
context.

At no point do you have an "array" in a scalar context, or a "list"
in a scalar context.  Really.  You don't.  Ever.  Get it?

And why I'm harping on this is that I've seen this myth continue to
perpetuate, started from some bad verbage or bad understanding
somewhere, and I'm trying to root it out so that it doesn't keep
spreading like a bad meme.

-- 
Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
<[EMAIL PROTECTED]> <URL:http://www.stonehenge.com/merlyn/>
Perl/Unix/security consulting, Technical writing, Comedy, etc. etc.
See PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training!

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to