Declaring a variable is just as much fooling around with the symbol table just as much as using a sub declaration and AUTOLOAD (which is to say, not very much).
But using AUTOLOAD without sub declarations in a situation where there is inheritance going on is indeed foolish.