Internally you can hv_fetch on a hash and it will retreive an assignable scalar lvalue for $hash{key} which is why I assumed it would work. I would think it's more of a parser issue. I knew magic vars wouldn't work from the docs (I assume as it is optimized it does call magic on the value)