in reply to Fully qualifying $AUTOLOAD

This is a very common misunderstanding about what 'our' does, so common that a number of senior monks (tilly for one) have written huge posts (sorry no link :-) about it.

Basically all our does is tell the compiler that the variable you are using is _not_ a typo when you are running under strict. It doesnt declare it (or initialize it unless you do so specifically) in the sense of a my or anything like that, just marks it as being ok to use. Yes it is a bit counter intuitive. and Yes sometimes you have to our a vairable a number of times, particularly if the statements are inside a scoped block.

If it seems confusing just use the use vars pragma:

use vars qw/$AUTOLOAD/;
and itll be declared usable for the whole module and at compile time too.

Hope that helps.

Yves / DeMerphq
---
Writing a good benchmark isnt as easy as it might look.