Hi
Your mistake must be here :
foreach my $class ( sort keys %classHash ) {
if ( $classHash{$class} = "NT" ) { $outhandle = *NTOUT; }
if ( $classHash{$class} = "UNIX" ) { $outhandle = *UNIXOUT; }
if ( $classHash{$class} = "MAIL" ) { $outhandle = *MAILOUT; }
foreach my $status ( sort keys %{ $classHash{$class} } ) {
$classHash{$class} cannot be a string, as you seem to consider, for example, in
if ( $classHash{$class} = "MAIL" )
AND a hash reference, like it is used in
foreach my $status ( sort keys %{ $classHash{$class} } ) {
So
$status is never success, and you never write anything.
Moreover, you must use
eq to compare two strings. And
== (and not
=) to compare to numbers.
BTW, you
use strict; use warnings; do you ?
HTH
--
zejames