in reply to
Creating Reports with hashes: Use of uninitialized value while adding integers
Though I do not understand why I need to gave "no warnings - line 52" for a column that only has integers.
...
my $quant = $tree_collection{$years}{$trees}{$size} || "-";
If
$tree_collection{$years}{$trees}{$size} is 0, or undefined,
$quant is
-, which isn't an integer.
Whether this is happening or not, I cannot be bothered to find out. You actually print the value of $quant, but you're not showing us the output. And I really am not going to download your program and run it myself.