in reply to typglobs and filehandles

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