However, the current resultant of substr as an lvalue, whilst predictable, is so twisted, and has so many edge cases, I find it inconceivable that anyone has actually found a reasonable use for the current behaviour, much less constructed an application that relies upon it.
Considering that 4-arg substr is a relative new invention (5.004? 5.005?), there must have been a lot of code that uses the lvalue-ness of substr. substr has never surprised me, but then, I've never used the 3-arg form in both rvalue and lvalue context at the same time, nor have I ever used 4-arg substr as an rvalue.
I'm not really convinced this issue is worth breaking backwards compatibility for. No doubt there is code right now that depends on this behaviour - and if the current behaviour confuses you, don't use it. Write it in two lines.
Abigail
In reply to Re: lvalue substring oddities
by Abigail-II
in thread lvalue substring oddities
by ysth
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |