On Tue, 1 May 2012 15:58:49 +0530
Mohan L <l.mohan...@gmail.com> wrote:

> On Tue, May 1, 2012 at 3:28 PM, Manfred Lotz <manfred.l...@arcor.de>
> wrote:
> 
> > Hi there,
> > What is a recommended Module for processing config resp. inifile
> > formats?
> >
> > One important feature I need is to use previously defined entries.
> >
> > Example:
> >
> > [General]
> > base_dir : /somedir
> >
> > [Files]
> > iso_image : ${base_dir}/x.iso
> >
> > lib : a.so
> > lib : b2.so
> >
> 
> I am using Config::General - Generic Config Module.
> http://search.cpan.org/dist/Config-General/General.pm
> 
> Say for example :
> 
> The below is DB related information in my configuration goes
> <database> section :
> 
> $ cat /etc/myconf.txt
> <database>
>         mysql_host      = localhost
>         mysql_port      = 3306
>         mysql_driver    = mysql
>         mysql_database  = databasename
>         mysql_username  = mysqluser
>         mysql_password  = mysqlpassword
>         mysql_socket    = socket path
> </database>
> 
> I am using the below code to parse configuration file.
> 
> $cat myprog.pl
> 
> my $conf_path = "/etc/myconf.txt";
> my $conf   = Config::General->new($conf_path);
> my %config = $conf->getall();
> my %database = %{$config{database}};
> my $mysql_host = $database{mysql_host};
> my $mysql_port = $database{mysql_port};
> my $mysql_driver = $database{mysql_driver};
> my $mysql_database = $database{mysql_database};
> my $mysql_username = $database{mysql_username};
> my $mysql_password = $database{mysql_password};
> my $mysql_socket   = $database{mysql_socket};
> 
> 
> Thanks
> Mohan L
>

Looks good, thanks. The package has an -InterPolateVars option which does it 
nicely.

-- 
Thanks again,
Manfred






-- 
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/


Reply via email to