You don't have to be that drastic with the change... You can add this function your any of your CGI::Application subclasses and have it work for you. You don't have to edit the CGI::Application source to add this.
To use CGI::Application you need to write a module that inherits from CGI::Application (by adding 'use base CGI::Application;' to the top of your module). You can add the custom load_tmpl function to this module (right along side your runmodes) and it will work properly.
The way I usually do it (and the way most CGI::Application users recommend) is to create a project wide Base class that inherits from CGI::Application, where you can customize the functionality of CGI::Application for the entire project (adding session management, authentication, etc...). Then you can create several modules with runmodes that inherit from your Base class. The Base class is where you would ideally put the customized load_tmpl method. This way your entire project gets the benefit of the change, but other users of CGI::Application on the system will not notice a difference.
If you would like a detailed example of how this is implemented, let me know and I'll put something together for you.
- Cheers
|