in reply to SelfLoader.pm module

I don't think you want __DATA__. That's for in-stream text input. You want sub new {... to be treated as Perl code, so just take the __DATA__ line out.

Sorry, guess I should check the docs before replying.