Yeah. Some thoughts:
This looks to me like an attempt to optimize. Otherwise, why not just get rid of the AUTOLOAD and use the functions at the start of your script? Now, you may know exactly what you are doing here, and if so feel free to say so - but have you checked whether this optimization is really necessary? (I once spent ages trying to speed up some Perl by adding SelfLoader to all my modules. This broke on half of my servers, and I later discovered that all the slowness was down to one function which could be speeded up in a much simpler way.) So, unless you know that including all the functions at the start is going to be VERY slow, think about doing that instead.
And for that matter, if you have that many functions, you probably want to rewrite them more simply :-)
if (eval{require $method;}) is just an inelegant way of saying if (do $method), IIRC. do will return true or false for you without dying.
A massive flamewar beneath your chosen depth has not been shown here |
|