Subject: | Incorrect use of UNIVERSAL::can in Log::Log4perl::Appender |
When the CPAN module UNIVERSAL::can (a module which checks for
inappropriate use of can()) is installed, I see this warning:
Called UNIVERSAL::can() as a function, not a method at
/usr/lib/perl5/site_perl/5.8.8/Log/Log4perl/Appender.pm line 62
at /usr/lib/perl5/site_perl/5.8.8/UNIVERSAL/can.pm line 71
UNIVERSAL::can::_report_warning() called at
/usr/lib/perl5/site_perl/5.8.8/UNIVERSAL/can.pm line 54
UNIVERSAL::can::can('Log::Log4perl::Appender::Screen', 'new')
called at /usr/lib/perl5/site_perl/5.8.8/Log/Log4perl/Appender.pm line 62
eval {...} called at
/usr/lib/perl5/site_perl/5.8.8/Log/Log4perl/Appender.pm line 38
Log::Log4perl::Appender::new('Log::Log4perl::Appender',
'Log::Log4perl::Appender::Screen', 'utf8', 'undef') called at
/usr/lib/perl5/site_perl/5.8.8/Log/Log4perl.pm line 306
...
I have fixed this in a patch in
https://github.com/karenetheridge/log4perl (will send a pull request).
I removed the entire "can we call UNIVERSAL" check, as this
functionality dates back to at least perl 5.005, which is earlier than
the minimum version specified in Makefile.PL (e.g. see
http://search.cpan.org/~gsar/perl5.005/lib/UNIVERSAL.pm)