in reply to
Getting "close() on unopened filehandle FH" from Log::Log4perl
I see two issues here:
In run(), you have "__PACKAGE->gimme_logger()".
That should probably be "__PACKAGE__->gimme_logger()".
[You may be across this information already but, in case you're not: __PACKAGE__ is described in "Special Literals" under perldata - Scalar value constructors; and Log::Log4perl - Pitfalls with Categories describes a caveat when using __PACKAGE__.]
gimme_logger(), run() and DEMOLISH() all have "my $self = shift;" but none of them use $self.