in reply to discussion: What should split( /PATTERN/, EXPR, 0 ) return better?
Thank you all for your minds and discussion.
I think I can add, that 'split' is a polymorphic function, and behaviour depends on a number of parameters and of values of these parameters. But it is counterintuitive for me, that function behaviour with 3 parameters can be more similar (in this case = identical) to 2-param function than to another behaviour with 3 parameters. Maybe only me have that broken intuition... Some cases are not very DWIMy (it depends on individual senses) so long learning curve with books and docs.