http://www.perlmonks.org?node_id=987387


in reply to Re^3: Hash value sorting
in thread Hash value sorting

You're absolutely right and I've found the problem.

I made a mistake whenever I was creating/adding to values in the hash. I had this line:

${$self->{_counts}{$key}} += $value;

This was where the scalar ref was coming from. I should note, key and value are parameter passed in, representing the obvious. This line explains why I had to do some extra, dodgy dereferencing later on and, of course, should have read:

$self->{_counts}{$key} += $value;

All seems to be sorted now. Code looks a lot tidier too. First time I've really used references much but it's been a good learning experience.

Thanks to all for the help and suggestions.