First, you have <IN> in three different places: the main "while" condition (which is normal), and in each of your subroutines. If it's true that the input data consists of multiple lines per data "record", it would be a good idea to document this using comments or POD in the code -- otherwise, it tends to look like a mistake.
Second, you are using a reference to a scalar variable as a hash key: $Tid{\$Tid} and this is almost certainly not what you really want. Curiously, you are sometimes using the actual scalar variable's value as the key, $Tid{$Tid} -- which is more likely what you should be doing all the time.
How about you try showing a little bit of sample data, along with what the output ought to look like given that input?
UPDATE: Oh yeah -- the reason for the warning message: You are using a new variable called "$Tid" in the final for loop for printing stuff out, but that's a new variable, so \$Tid (the reference to it) is a new memory address, and nothing has ever been assigned to the hash with that address as the key.
In reply to Re: multidimensional hash value seems to become unitialized
by graff
in thread multidimensional hash value seems to become unitialized
by adevans57
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |