A quick check of Tk::Text::SuperText tells us that the module uses the NON-default form of AUTOLOADER. Here's a snippet from the CPAN synopsis of AutoLoader:
package Tk::Text::SuperText;
use AutoLoader;
Invoking AutoLoader that way requires that T::Tk::SuperText supply a to replace what you've removed...(or, perhaps, to remove something you didn't delete?), according to the AutoLoader doc:
package Foo;
use AutoLoader 'AUTOLOAD'; # import the default AUTOLOAD subrout
+ine
package Bar;
use AutoLoader; # don't import AUTOLOAD, define our o
+wn
sub AUTOLOAD {
...
$AutoLoader::AUTOLOAD = "...";
goto &AutoLoader::AUTOLOAD;
}
....
Hence, I suspect your problem lies in your "Simply remove the use AutoLoader statement, remove the __END__ block and move all method inside the module." I'm willing to guess that you already knew that, but can't help suspecting some small (or large) mistake in doing so. Unfortunately, you haven't given us much to go on, in that regard.