in reply to Can't coerce array into hash at

When you use an array reference as a hash reference, you trigger perl's pseudo-hash code. This only works in some versions of perl (5.6.x and 5.8.x, IIRC, though it's a dead feature) and only if the zeroeth element of the array referenced is a hash reference.

Check to make sure you're actually using the right version of perl everywhere, and that the array is set up to act as a pseudohash.

If you're not purposely using perl's pseudohash feature, then your program is a bug and your reference doesn't refer to what you think it does. (And you're using symbolic refs anyway, which is mildly naughty)