See bug #14782 Class::Std does noet (sic) work with mod_perl.
Makeshifts last the longest.
That sort of "bug" is trivial to work around. Move the contents of the CHECK block into a named subroutine and then have the CHECK block call it. This allows compile-time loading of the module to still work as planned and allows runtime loading to manually compensate. You'd just call the new named function after loading your module.
Before
package Bad::Module;
CHECK {
... # Lots of code
}
package Your::Code;
require Bad::Module;
# Error! Too late for CHECK.
After
package Bad::Module;
CHECK {
STUFF_THAT_NEEDS_DOING();
}
sub STUFF_THAT_NEEDS_DOING {
... # Lots of code
}
package Your::Code;
require Bad::Module;
... # All your code
Bad::Module::STUFF_THAT_NEEDS_DOING();
⠤⠤ ⠙⠊⠕⠞⠁⠇⠑⠧⠊
I know that. But that doesnt really help CPAN users whereas knowing that it has been reported and that TheDamian has acknowledged it and plans to offer a workaround in the next version of Class::Std is useful. :-)
Makeshifts last the longest.
It's good to repeat that because it means it is trivial for a CPAN user to fix the module they're trying to use so it works even if the module's author can't be bothered to fix it themselves.
⠤⠤ ⠙⠊⠕⠞⠁⠇⠑⠧⠊
perlmonks.org content © perlmonks.org and Aristotle, diotalevi, Pic
prlmnks.org © 2006 edmund von der burg (eccles & toad)
v 0.03