This is Perl, you can do anything. So desing whatever syntax will be most comfortable to your users. I usualy use %variablename% in config files and templates and so far it worked fine with my users. (As you can guess by now they are all Windows users.)
If you happen to use Config::IniHash you can specify a function to be called for each option read and perform whatever transformations you like. Eg. if you wanted the users to use %foo% if they want to include the "foo" option in the current section and %[sec]foo% to include the "foo" option in the "sec" section. you could do it like this:
This of course assumes that you do not try to reference an option that was not yet specified :-)use Config::IniHash qw(ReadINI); $config = ReadINI('c:\temp\zkINI.ini', systemvars => 0, forValue => sub { my ($name, $value, $sectionname, $INIhashref) = @_; $value =~ s{%(?:\[([^\]%]+)\])?([^%]*)%}{ if ($2 eq '') { '%' } elsif ($1 eq '') { $INIhashref->{$sectionname}{$2} } else { $INIhashref->{$1}{$2} } }ge; return $value; } ); use Data::Dumper; print Dumper($config);
Jenda
|
We'd like to help you learn to help yourself Look around you, all you see are sympathetic eyes Stroll around the grounds until you feel at home -- P. Simon in Mrs. Robinson |
In reply to Re: Config files
by Jenda
in thread Config files
by sparkel
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |