As haoess suggests, pseudohashes are causing the problem. However you may not have intended to create one: if you have inadvertently assigned an arrayref of a particular form to $hashref then I'd expect error messages along the lines you are seeing.
The solution: look back earlier in the code to where $hashref is set, and perhaps add some diagnostics around that point to find out why it isn't getting set to a hashref as you clearly expected.
This sort of problem is exactly why pseudohashes have now been deprecated, and will be removed in the next major release of perl.
Hugo
In reply to Re: Argument isn't numeric in hash element
by hv
in thread Argument isn't numeric in hash element
by Stephen Toney
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |