in reply to typglobs and filehandles

Well, are you sure that print is ever being run? And it it is, does it print to MAILOUT each time? Here's your problem:
if ( $classHash{$class} = "NT" )
You're missing an equals sign, as right now you assign to $classHash{$class} three times. I suspect that fixing that problem will help you a lot.

To avoid this in the future, you might want to write:

if ( "NT" == $classHash{$class})
since you can't assign to a constant string, so only having one equals sign gives you an error.

BTW, your syntax for printing to a filehandle assigned to a scalar appears correct--at least, it works for me.