Hello, There is an existing RT bug for the issue of module_available being broken already:
http://rt.cpan.org/Public/Bug/Display.html?id=24884 which is 10 months older then the release done yesterday. Since there have been tickets closed since then I am assuming you guys are aware of this issue already. I just wanted to reiterate that this code really is broken, both in spirit and in implementation. Please reconsider having this broken code in such a useful package. The patch in RT is sufficient to restore functionality, but I would personally take out all module_available calls everywhere from Log4perl and replace it with a simple eval {require }. To illustrate implementation brokenness, see line 33 of Util.pm: ref $dir !~ /^(GLOB|SCALAR|HASH|REF|LVALUE)$/) { which tries to determine the reference status on the result of a regular expression. I assume the author wanted to write this : ref($dir) !~ /^(GLOB|SCALAR|HASH|REF|LVALUE)$/) { but forgot about operator precedence. So this test will *never* be true. Which is good, as the code on line 34 inside the if branch is bad as well. return 1 if $dir->INC(); as the INC method is supposed to return the open file handle of the file requested. Since you do not request a file, the method is under no obligation to actually return a true value. But it would be pointless to try fixing this implementation since whatever the result of the module_available function is, it just leads to an eval { require } afterwards anyway, so you are doubling the effort. It would be very nice if you would consider to modify Log4perl to not use module_available. Or accept the RT patch. The current code does not work with @INC objects. Regards, -- Merijn Broeren | We take risks, we know we take them. Therefore, when things | come out against us, we have no cause for complaint. | - Scott, last journal entry, march 1912 ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ log4perl-devel mailing list log4perl-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/log4perl-devel