The array of keys is not a problem. That's not what I was referring to.
My suspicion is that the value of $temp_dcr{$key} is not a reference to a hash, which is what you are using it as in this snippet of code. I think that it is actually a reference to an array.
An easy way to check is with Data::Dumper:
use Data::Dumper;
print Dumper %tmp_dcr;
# if %tmp_dcr is too big, just dump $tmp_dcr{$key} for one of the keys
|