List -- Thank you in advance for any time spent reading or replying, I appreciate it. I'm developing a large application using CGI::Application (or at least thinking about it very seriously.) The application we are going to create will need to serve many users, and groups of users will need to have different sets of configuration options.
GOALS: 1. These options should be easy to use within the framework of CGI::Application 2. These options should be stored in a central location Thoughts: I've considered a number of options, but never having done any serious CGI::Application programming, I am in no position to make any type of judgment. >>> Global Vars: I've created a number of simpler applications and in some of them I stored constant information directly in the package, using "our". I'm not sure how efficient or common this method is but it seems to work fairly well in my smaller applications. However, I imagine a list of 20 or so global vars at the top of my package would get a little annoying ... I'm also concerned about inheritance issues using this method -- (i.e., when I sub-class my sub-classes what type of relationship would global from the parent package have with global from the child package.) Parameterized Hash: This scenario goes something like this : Read an XML file, text file or something, place the details in a hash and stuff the hash into a $self->param() call. I do this with DBH -- works fine. a hash like this might be no easier to use than a big set of well-named global vars a Service: Create another perl package that provides an interface to fetching configuration parameters. Create this service, place it in a param() within CGI::Application and retrieve and use as needed. SOAP-based service: Create another PERL package that provides a SOAP interface for serving configuration details to multiple CGI::Application clients. <<< Your Thoughts? Cory Trese --------------------------------------------------------------------- Web Archive: http://www.mail-archive.com/[email protected]/ To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
