in reply to "0" or throw problem

What are you trying to do? If it's trying to wrap the assignment itself in an error checker that throws an exception, you'll have to do something like:
eval {#$HashOfTNBs{$rec_count}{$subindex} = $1}; if ($@) { throw TNBCriticalColException("Cannot add multiple key entry in ha +sh array"); }
There's no other way around that, since assignment returns the assigned value, rather than a true/false "it worked" value.