Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change

Re: Re (tilly) 4: using strict and a config file

by busunsl (Vicar)
on Nov 12, 2001 at 14:18 UTC ( #124793=note: print w/replies, xml ) Need Help??

in reply to Re (tilly) 4: using strict and a config file
in thread using strict and a config file

I agree. In fact I think a better solution would be not to have Perl code in the config file but name/value pairs and read them into a hash.
Perhaps even better use a CPAN module for the config file handling.
  • Comment on Re: Re (tilly) 4: using strict and a config file

Replies are listed 'Best First'.
Re (tilly) 6: using strict and a config file
by tilly (Archbishop) on Nov 12, 2001 at 14:57 UTC
    I disagree.

    There are plenty of legitimate reasons to want to have more complex data structures in a configuration than just a simple hash.

    Also while there are plenty of configuration modules on CPAN, I haven't seen any that I like very much. Here are the main capabilities that I want out of a configuration solution:

    1. Be able to have any kind of data structure into the configuration.
    2. Be able to have a search path with selective overriding of configuration information. For instance the development and production configurations should be as similar as possible, with only a few key values being overridden.
    3. Be able to selectively tie together the configurations of separate modules which should share some common information based on your environment.
    4. Have checks so that if someone is trying to access a variable from the configuration that isn't there, you can catch it and fix.
    On these criteria, most of the CPAN configuration modules score 0/4. Just using raw Perl as a configuration file scores 2/4. A simple bit of code that searches a configuration path and does every file it finds there with a specific name scores 3/4. And if you know what you are doing, it is possible to create a simple configuration module that adds the export checks.

    Now those wants are not everyone's. Everyone wants to get different things from a configuration module (which is one reason why there are so many configuration modules out there). But I claim that my list is not an unreasonable set of wants for a Perl programmer to have, and if you have them then pure Perl is a perfectly reasonable kind of configuration file to use.

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://124793]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (4)
As of 2022-10-03 17:45 GMT
Find Nodes?
    Voting Booth?
    My preferred way to holiday/vacation is:

    Results (15 votes). Check out past polls.