http://qs321.pair.com?node_id=11118072


in reply to Re^5: ${^POSTMATCH} problem
in thread ${^POSTMATCH} problem

No, it could also rewrite the call to join in terms of pre-multiconcat concatenation. I thought at first this would cause problems for magical vars, but that's not the case.

But the point stands. To change this would impose a performance hit. Rather than slowing down join to provide more consistent behaviour, they've opted to speed up concatenation while providing less consistent behaviour. And I agree with this. In general, a programmer should never read and change a variable in the same statement. It introduces readability issues if nothing else, but it's common for it to invoke undefined behaviour.