On 2002.08.19 14:19 Elizabeth Mattijsen wrote: > use AutoLoader 'preload'; # preload anything you can find in %INC > > use AutoLoader preload => { module => '' }; # all from specific module > > use AutoLoader preload => { module => [qw(suba subb)] }; # only specific > > > Would that make sense?
Problem with that approach is that it doesn't offer any control over whether you are pre-loading or not. If you are going to pre-load a certain sub-set of routines all the time, just put them above the __END__ token and don't burden AutoLoader with new functionality at all. What I was suggesting was a way that I, as the writer of (picking one of my own modules as an example) RPC::XML::Server can incorporate something in the compile-time logic so that Apache::RPC::Server contains: use RPC::XML::Server 'compile'; And RPC::XML::Server can have: sub import { AutoLoader::preload(__PACKAGE__, @list_o_routines) if (lc $_[1] eq 'compile'); } (Admittedly a simplistic example, but I hope it gets the point across) This way, I only pre-load routines in the cases where I need it done. Your suggestion is good for modules that are only ever used under mod_perl, but modules may be designed to work in other environments. Oh, you could manage to get the same affect as my idea using a BEGIN block and conditional calls of "use AutoLoader", but the above seems to me to be much cleaner. Randy -- ------------------------------------------------------------------------------- Randy J. Ray | Men occasionally stumble over the truth, but most of them [EMAIL PROTECTED] | pick themselves up and hurry off as if nothing had happened. +1 650 930-9097 | -- Sir Winston Churchill