Ahhh... That's much more clear. I was (guessing) that unpack called in either context still split the entire row. The statement "In scalar context, it returns merely the first value produced." is a bit misleading. (To me anyway)
I read it to say that it still splits the entire row returning only the first value. Had this been the case, then the memory would've been allocated already. To store each value. If each value is stored very quickly internal to unpack, why would it take longer to copy it to a new structure. That isn't true and now I understand what is really happening. 8)
As always this is a great resource for those of us that haven't read the source to perl. (Do you blame me. It's huge! ;) Even if I did, I'm not certain I'd understand it anywhere near as well as you all do.)
Thanks for the clarification. I really appreciate it!
Shawn M Ferris