One thing I would definitely change is the following current practice:
if ( defined $people{$user}{'TC_ENG'} ) {
$people{$user}{'TC_ENG'}++;
$people{$user}{TOTAL}++;
}
else {
$people{$user}{'TC_ENG'} = 1;
$people{$user}{TOTAL}++;
}
You should know that incrementing a variable containing an undefined value first treats the
undef like a zero, which means it ends up with the value 1. And that doing this to a hash key
which doesn't even exist yet makes it exist first. So the above can be replaced by
$people{$user}{'TC_ENG'}++;
$people{$user}{TOTAL}++;
We're building the house of the future together.