You see, you don't need to split your modules when developing with Autoloader. Your program will work just fine. You only have to split the modules when creating a production version.
Also, your own solution suffers from some of the ills you place on Autoloader, namely, the need for preprocessing the file and somewhere to store its metadata.
You make a point for Autoloader's uncleanliness with having the code put after the __END__ label but your module is also unclean sice you'll need it to be the first source filter to be loaded.