Mike, I found a problem with this guy in Logger.pm
\$message = [map { ref \$_ eq "HASH" ?
\$_->{filter}->(\$_->{value}) :
ref \$_ eq "CODE" ?
\$_->() : \$_
} \@_];
If an innocent hashref unexpectely gets into the logging statement
$logger->fatal('fatal message',1234,'foo',{aaa => 'aaa'});
then it tries to call the method on the innocent hashref and dies
Can't use string ("") as a subroutine ref while "strict refs" in use at
(eval 118) line 17.
So instead we need to do something like this ugliness (maybe it's time
to unroll the map into a loop)
\$message = [map { ref \$_ eq "HASH"
&& exists \$_->{filter}
&& ref \$_->{filter} eq "CODE" ?
\$_->{filter}->(\$_->{value}) :
ref \$_ eq "CODE" ?
\$_->() : \$_
} \@_];
--
Happy Trails . . .
Kevin M. Goess
(and Anne and Frank)
904 Carmel Ave.
Albany, CA 94706
(510) 525-5217
|