Config::Abstract::Ini - Perl extension for handling ini style files
use Config::Abstract::Ini; my $ini = new Config::Abstract::Ini('testdata.ini');
Have you ever wanted an easy to use interface to your own config files, but ended up doing 'require mysettings.pl' because you couldn't be bothered? Config::Abstract::Ini solves that for you, giving you an object in exchange for the name of your settings file. For compatibility with other config file formats, Ini can understand hierarchical ini files using double colons as delimiters. Just make sure you don't create name clashes by assigning both a value and a subentry to the same name in the file. This is currently supported for one sublevel only, which will have to be improved in future releases.
We assume the content of the file 'testdata.ini' to be: [myentry] ;comment thisssetting = that thatsetting=this ;end of ini use Config::Abstract::Ini; my $settingsfile = 'testdata.ini'; my $settings = new Config::Abstract::Ini($Settingsfile); # Get all settings my %allsettings = $settings->get_all_settings; # Get a subsection (called an entry here, but it's # whatever's beneath a [section] header) my %entry = $settings->get_entry('myentry'); # Get a specific setting from an entry my $value = $settings->get_entry_setting('myentry', 'thissetting'); # Get a specific setting from an entry, giving a default # to fall back on my value = $settings->get_entry_setting('myentry', 'missingsetting', 'defaultvalue'); We can also make use of subentries, with a ini file like this: [book] title=A book of chapters author=Me, Myself and Irene [book::chapter1] title=The First Chapter, ever file=book/chapter1.txt [book::chapter2] title=The Next Chapter, after the First Chapter, ever file=book/chapter2.txt # btw, you can use unix style comments, too... ;end of ini use Config::Abstract::Ini; my $settingsfile = 'test2.ini'; my $ini = new Config::Abstract::Ini($Settingsfile); my %book = $ini->get_entry('book'); my %chap1 = $ini->get_entry_setting('book','chapter1'); my $chap1title = $chapter1{'title'}; # Want to see the inifile? # If you can live without comments and blank lines ;), # try this: print("My inifile looks like this:\n$ini\nCool, huh?\n");
Returns a hash of all settings found in the processed file
Returns a hash of the settings within the entry ENTRYNAME
Returns the value corresponding to ENTRYNAME,SETTINGSNAME. If the value isn't set it returns undef or, optionally, the DEFAULTVALUE
Fill settings with data from SETTINGSHASH
Fill the entry ENTRYNAME with data from ENTRYHASH
Set the setting ENTRYNAME,SETTINGSNAME to VALUE
* Comments have to be on their own lines, end of line comments won't work properly * Serialisation does not take original line ordering into consideration, so comments may end up far from what they're supposed to document
Copyright (c) 2003 Eddie Olsson. All rights reserved.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Eddie Olsson <ewt@avajadi.org>
perl.
2 POD Errors
The following errors were encountered while parsing the POD:
'=item' outside of any '=over'
You forgot a '=back' before '=head1'
To install Config::Abstract, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Config::Abstract
CPAN shell
perl -MCPAN -e shell install Config::Abstract
For more information on module installation, please visit the detailed CPAN module installation guide.